API Documentation
Complete OpenAPI 3.0 specification for all available APIs
Practice Automated Testing API
RESTful API for practicing automated testing. Includes Books management and Authentication endpoints.
Version: 1.0.0OpenAPI 3.0.0
Servers
https://practiceautomatedtesting.com/v1
Production serverBooks
Book management endpoints
Get all books
Create a new book
Get a book by ID
Update a book
Delete a book
Authentication
User authentication and authorization
Register a new user
User login
Schemas
Book
{ "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "title": { "type": "string", "example": "The Great Gatsby" }, "author": { "type": "string", "example": "F. Scott Fitzgerald" }, "isbn": { "type": "string", "example": "978-0743273565" }, "price": { "type": "number", "format": "float", "example": 12.99 }, "inStock": { "type": "boolean", "example": true } } }
BookDetail
{ "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "description": { "type": "string", "example": "A novel set in the Jazz Age..." }, "publishedDate": { "type": "string", "format": "date", "example": "1925-04-10" }, "category": { "type": "string", "example": "Classic Literature" } } } ] }
BookInput
{ "type": "object", "required": [ "title", "author", "isbn", "price" ], "properties": { "title": { "type": "string", "example": "New Book Title" }, "author": { "type": "string", "example": "Author Name" }, "isbn": { "type": "string", "example": "978-1234567890" }, "price": { "type": "number", "format": "float", "example": 19.99 }, "inStock": { "type": "boolean", "example": true }, "description": { "type": "string", "example": "Book description" }, "category": { "type": "string", "example": "Fiction" } } }
Pagination
{ "type": "object", "properties": { "page": { "type": "integer", "example": 1 }, "limit": { "type": "integer", "example": 10 }, "total": { "type": "integer", "example": 3 } } }
User
{ "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "email": { "type": "string", "format": "email", "example": "user@example.com" }, "firstName": { "type": "string", "example": "John" }, "lastName": { "type": "string", "example": "Doe" } } }
RegisterInput
{ "type": "object", "required": [ "email", "password", "firstName", "lastName" ], "properties": { "email": { "type": "string", "format": "email", "example": "user@example.com" }, "password": { "type": "string", "format": "password", "example": "SecurePass123!" }, "firstName": { "type": "string", "example": "John" }, "lastName": { "type": "string", "example": "Doe" } } }
LoginInput
{ "type": "object", "required": [ "email", "password" ], "properties": { "email": { "type": "string", "format": "email", "example": "user@example.com" }, "password": { "type": "string", "format": "password", "example": "SecurePass123!" } } }
AuthResponse
{ "type": "object", "properties": { "token": { "type": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }, "refreshToken": { "type": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }, "expiresIn": { "type": "integer", "example": 3600 }, "user": { "$ref": "#/components/schemas/User" } } }