0% found this document useful (0 votes)
2 views3 pages

BooksAPI

The Simple Books API allows users to reserve books and manage orders through various endpoints. Key functionalities include retrieving book lists, submitting, viewing, updating, and deleting orders, all of which require authentication. Users must register their API client to obtain an access token for order-related actions, which is valid for 7 days.

Uploaded by

hoangchau040391
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views3 pages

BooksAPI

The Simple Books API allows users to reserve books and manage orders through various endpoints. Key functionalities include retrieving book lists, submitting, viewing, updating, and deleting orders, all of which require authentication. Users must register their API client to obtain an access token for order-related actions, which is valid for 7 days.

Uploaded by

hoangchau040391
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

# Simple Books API #

This API allows you to reserve a book.

The API is available at `[Link]

## Endpoints ##

### Status ###

GET `/status`

Returns the status of the API.

### List of books ###

GET `/books`

Returns a list of books.

Optional query parameters:

- type: fiction or non-fiction


- limit: a number between 1 and 20.

### Get a single book ###

GET `/books/:bookId`

Retrieve detailed information about a book.

### Submit an order ###

POST `/orders`

Allows you to submit a new order. Requires authentication.

The request body needs to be in JSON format and include the following properties:

- `bookId` - Integer - Required


- `customerName` - String - Required
Example
```
POST /orders/
Authorization: Bearer <YOUR TOKEN>

{
"bookId": 1,
"customerName": "John"
}
```

The response body will contain the order Id.

### Get all orders ###

GET `/orders`

Allows you to view all orders. Requires authentication.

### Get an order ###

GET `/orders/:orderId`

Allows you to view an existing order. Requires authentication.

### Update an order ###

PATCH `/orders/:orderId`

Update an existing order. Requires authentication.

The request body needs to be in JSON format and allows you to update the following properties:

- `customerName` - String

Example
```
PATCH /orders/PF6MflPDcuhWobZcgmJy5
Authorization: Bearer <YOUR TOKEN>

{
"customerName": "John"
}
```

### Delete an order ###


DELETE `/orders/:orderId`

Delete an existing order. Requires authentication.

The request body needs to be empty.

Example
```
DELETE /orders/PF6MflPDcuhWobZcgmJy5
Authorization: Bearer <YOUR TOKEN>
```

## API Authentication ##

To submit or view an order, you need to register your API client.

POST `/api-clients/`

The request body needs to be in JSON format and include the following properties:

- `clientName` - String
- `clientEmail` - String

Example

```
{
"clientName": "Postman",
"clientEmail": "valentin@[Link]"
}
```

The response body will contain the access token. The access token is valid for 7 days.

**Possible errors**

Status code 409 - "API client already registered." Try changing the values for `clientEmail` and
`clientName` to something else.

You might also like