Skip to content

# Aetoskia Blog API 0.2.0

Text Only

    This is the **Aetoskia Blog API**, part of the personal service network.

    Provides:
    - Article CRUD operations
    - User comment management
    - Tag-based search

    Fully async, secured via JWT auth.

Terms of service: https://aetoskia.com/terms
Contact: Aetoskia Dev Team dev@aetoskia.com
License: MIT License

## Servers

Description | URL
--- | ---
Production server | https://api.aetoskia.com/blogs
Staging environment for internal testing | http://server-pi:9001
Local development server | http://localhost:8000

## blog

### POST /authors

Create Author

Request body

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the request body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            },
            "name": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Name"
            },
            "avatar": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Avatar"
            }
        },
        "type": "object",
        "required": [
            "username"
        ],
        "title": "Author",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 200 OK

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            },
            "name": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Name"
            },
            "avatar": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Avatar"
            }
        },
        "type": "object",
        "required": [
            "username"
        ],
        "title": "Author",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### GET /authors

List Authors

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`limit` | query | integer | 10 | No |
`skip` | query | integer | 0 | No |

Response 200 OK

application/json

JSON

    [
        {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    ]

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "type": "array",
        "items": {
            "$ref": "#/components/schemas/Author"
        },
        "title": "Response List Authors Authors Get"
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### GET /authors/{author_id}

Get Author

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`author_id` | path | string |  | No |

Response 200 OK

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            },
            "name": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Name"
            },
            "avatar": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Avatar"
            }
        },
        "type": "object",
        "required": [
            "username"
        ],
        "title": "Author",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### PUT /authors/{author_id}

Update Author

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`author_id` | path | string |  | No |

Request body

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the request body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            },
            "name": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Name"
            },
            "avatar": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Avatar"
            }
        },
        "type": "object",
        "required": [
            "username"
        ],
        "title": "Author",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 200 OK

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            },
            "name": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Name"
            },
            "avatar": {
                "anyOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Avatar"
            }
        },
        "type": "object",
        "required": [
            "username"
        ],
        "title": "Author",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### DELETE /authors/{author_id}

Delete Author

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`author_id` | path | string |  | No |

Response 200 OK

application/json
Schema of the response body
JSON

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### POST /articles

Create Article

Request body

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the request body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "img": {
                "type": "string",
                "title": "Img"
            },
            "tag": {
                "type": "string",
                "title": "Tag"
            },
            "title": {
                "type": "string",
                "title": "Title"
            },
            "description": {
                "type": "string",
                "title": "Description"
            },
            "content": {
                "type": "string",
                "title": "Content"
            },
            "authors": {
                "items": {
                    "type": "string",
                    "examples": [
                        "507f1f77bcf86cd799439011"
                    ]
                },
                "type": "array",
                "title": "Authors"
            }
        },
        "type": "object",
        "required": [
            "img",
            "tag",
            "title",
            "description",
            "content",
            "authors"
        ],
        "title": "Article",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 200 OK

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "img": {
                "type": "string",
                "title": "Img"
            },
            "tag": {
                "type": "string",
                "title": "Tag"
            },
            "title": {
                "type": "string",
                "title": "Title"
            },
            "description": {
                "type": "string",
                "title": "Description"
            },
            "content": {
                "type": "string",
                "title": "Content"
            },
            "authors": {
                "items": {
                    "type": "string",
                    "examples": [
                        "507f1f77bcf86cd799439011"
                    ]
                },
                "type": "array",
                "title": "Authors"
            }
        },
        "type": "object",
        "required": [
            "img",
            "tag",
            "title",
            "description",
            "content",
            "authors"
        ],
        "title": "Article",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### GET /articles

List Articles

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`limit` | query | integer | 10 | No |
`skip` | query | integer | 0 | No |

Response 200 OK

application/json

JSON

    [
        {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    ]

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "type": "array",
        "items": {
            "$ref": "#/components/schemas/ArticleResponse"
        },
        "title": "Response List Articles Articles Get"
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### GET /articles/{article_id}

Get Article

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`article_id` | path | string |  | No |

Response 200 OK

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "img": {
                "type": "string",
                "title": "Img"
            },
            "tag": {
                "type": "string",
                "title": "Tag"
            },
            "title": {
                "type": "string",
                "title": "Title"
            },
            "description": {
                "type": "string",
                "title": "Description"
            },
            "content": {
                "type": "string",
                "title": "Content"
            },
            "authors": {
                "items": {
                    "$ref": "#/components/schemas/Author"
                },
                "type": "array",
                "title": "Authors"
            }
        },
        "type": "object",
        "required": [
            "img",
            "tag",
            "title",
            "description",
            "content",
            "authors"
        ],
        "title": "ArticleResponse",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### PUT /articles/{article_id}

Update Article

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`article_id` | path | string |  | No |

Request body

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the request body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "img": {
                "type": "string",
                "title": "Img"
            },
            "tag": {
                "type": "string",
                "title": "Tag"
            },
            "title": {
                "type": "string",
                "title": "Title"
            },
            "description": {
                "type": "string",
                "title": "Description"
            },
            "content": {
                "type": "string",
                "title": "Content"
            },
            "authors": {
                "items": {
                    "type": "string",
                    "examples": [
                        "507f1f77bcf86cd799439011"
                    ]
                },
                "type": "array",
                "title": "Authors"
            }
        },
        "type": "object",
        "required": [
            "img",
            "tag",
            "title",
            "description",
            "content",
            "authors"
        ],
        "title": "Article",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 200 OK

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "img": {
                "type": "string",
                "title": "Img"
            },
            "tag": {
                "type": "string",
                "title": "Tag"
            },
            "title": {
                "type": "string",
                "title": "Title"
            },
            "description": {
                "type": "string",
                "title": "Description"
            },
            "content": {
                "type": "string",
                "title": "Content"
            },
            "authors": {
                "items": {
                    "type": "string",
                    "examples": [
                        "507f1f77bcf86cd799439011"
                    ]
                },
                "type": "array",
                "title": "Authors"
            }
        },
        "type": "object",
        "required": [
            "img",
            "tag",
            "title",
            "description",
            "content",
            "authors"
        ],
        "title": "Article",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### DELETE /articles/{article_id}

Delete Article

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`article_id` | path | string |  | No |

Response 200 OK

application/json
Schema of the response body
JSON

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

## auth

### POST /auth/register

Create User

Request body

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the request body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            },
            "password": {
                "type": "string",
                "minLength": 6,
                "title": "Password"
            }
        },
        "type": "object",
        "required": [
            "username",
            "password"
        ],
        "title": "UserAuth",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 200 OK

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            }
        },
        "type": "object",
        "required": [
            "username"
        ],
        "title": "PublicUser",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### POST /auth/login

Login

Request body

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the request body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            },
            "password": {
                "type": "string",
                "minLength": 6,
                "title": "Password"
            }
        },
        "type": "object",
        "required": [
            "username",
            "password"
        ],
        "title": "UserAuth",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

Response 200 OK

application/json
Schema of the response body
JSON

Response 422 Unprocessable Content

application/json

JSON

    {
        "detail": [
            {
                "loc": [
                    null
                ],
                "msg": "string",
                "type": "string"
            }
        ]
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "detail": {
                "items": {
                    "$ref": "#/components/schemas/ValidationError"
                },
                "type": "array",
                "title": "Detail"
            }
        },
        "type": "object",
        "title": "HTTPValidationError"
    }

### GET /auth/me

Read Users Me

Input parameters

Parameter | In | Type | Default | Nullable | Description
--- | --- | --- | --- | --- | ---
`OAuth2PasswordBearer` | header | string | N/A | No |

Response 200 OK

application/json

JSON

    {
        "created_at": "2024-01-01T00:00:00",
        "updated_at": "2024-01-01T00:00:00"
    }

⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Schema of the response body
JSON

    {
        "properties": {
            "_id": {
                "anyOf": [
                    {
                        "type": "string",
                        "examples": [
                            "507f1f77bcf86cd799439011"
                        ]
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Id"
            },
            "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "Created At"
            },
            "updated_at": {
                "type": "string",
                "format": "date-time",
                "title": "Updated At"
            },
            "username": {
                "type": "string",
                "maxLength": 50,
                "minLength": 3,
                "title": "Username"
            },
            "email": {
                "anyOf": [
                    {
                        "type": "string",
                        "format": "email"
                    },
                    {
                        "type": "null"
                    }
                ],
                "title": "Email"
            },
            "is_active": {
                "type": "boolean",
                "title": "Is Active",
                "default": true
            }
        },
        "type": "object",
        "required": [
            "username"
        ],
        "title": "PublicUser",
        "example": {
            "created_at": "2024-01-01T00:00:00",
            "updated_at": "2024-01-01T00:00:00"
        }
    }

### POST /auth/logout

Logout

Response 200 OK

application/json
Schema of the response body
JSON

## Endpoints

### GET /health

Health Check

Response 200 OK

application/json
Schema of the response body
JSON

## Schemas

### Article

Name | Type
--- | ---
`_id` |
`authors` | Array<string>
`content` | string
`created_at` | string(date-time)
`description` | string
`img` | string
`tag` | string
`title` | string
`updated_at` | string(date-time)

### ArticleResponse

Name | Type
--- | ---
`_id` |
`authors` | Array<Author>
`content` | string
`created_at` | string(date-time)
`description` | string
`img` | string
`tag` | string
`title` | string
`updated_at` | string(date-time)

### Author

Name | Type
--- | ---
`_id` |
`avatar` |
`created_at` | string(date-time)
`email` |
`is_active` | boolean
`name` |
`updated_at` | string(date-time)
`username` | string

### HTTPValidationError

Name | Type
--- | ---
`detail` | Array<ValidationError>

### PublicUser

Name | Type
--- | ---
`_id` |
`created_at` | string(date-time)
`email` |
`is_active` | boolean
`updated_at` | string(date-time)
`username` | string

### UserAuth

Name | Type
--- | ---
`_id` |
`created_at` | string(date-time)
`email` |
`is_active` | boolean
`password` | string
`updated_at` | string(date-time)
`username` | string

### ValidationError

Name | Type
--- | ---
`loc` | Array<>
`msg` | string
`type` | string

## Security schemes

Name | Type | Scheme | Description
--- | --- | --- | ---
OAuth2PasswordBearer | oauth2 |  |

## Tags

Name | Description
--- | ---
Articles | Operations for creating, reading, updating, and deleting blog articles.
Users | User management and authentication endpoints.