openapi: 3.0.3
info:
title: Bucket API
description: |
REST API for the bucket bounded context.
## Authentication
All endpoints require authentication via Bearer token.
## Standard Endpoints
Each entity has 12 standard CRUD endpoints:
- `GET /api/v1/{collection}` - List with pagination
- `POST /api/v1/{collection}` - Create
- `GET /api/v1/{collection}/:id` - Get by ID
- `PUT /api/v1/{collection}/:id` - Full update
- `PATCH /api/v1/{collection}/:id` - Partial update
- `DELETE /api/v1/{collection}/:id` - Soft delete
- `POST /api/v1/{collection}/bulk` - Bulk create
- `POST /api/v1/{collection}/upsert` - Upsert
- `GET /api/v1/{collection}/trash` - List deleted
- `POST /api/v1/{collection}/:id/restore` - Restore
- `DELETE /api/v1/{collection}/empty` - Empty trash
- `GET /api/v1/{collection}/count` - Count records
version: "1.0.0"
contact:
name: API Support
email: support@example.com
servers:
- url: http://localhost:3000
description: Development server
- url: https://api.example.com
description: Production server
tags: []
paths: {}
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
Error:
type: object
required:
- code
- message
properties:
code:
type: string
message:
type: string
details:
type: object
Pagination:
type: object
properties:
page:
type: integer
minimum: 1
default: 1
page_size:
type: integer
minimum: 1
maximum: 100
default: 20
total:
type: integer
total_pages:
type: integer
security:
- bearerAuth: []