Complete guide to test the Python API Base using Postman.
- Python-API-Base.postman_collection.json - API collection with all endpoints
- Python-API-Base.postman_environment.json - Environment variables for local development
- Open Postman
- Click Import (top-left)
- Select Python-API-Base.postman_collection.json
- Click Import again
- Repeat for Python-API-Base.postman_environment.json
- Top-right dropdown, select Python API Base - Local Development
- Verify
base_urlis set tohttp://localhost:8000
# From project root
docker-compose -f deployments/docker/docker-compose.example.yml up -d
# Or run locally
export DEBUG=false
python -m uvicorn src.main:app --reload --host 0.0.0.0 --port 8000- Go to Health Check folder
- Run Health - Live (GET /health/live)
- Should return 200 OK
- Go to Authentication folder
- Run Login (POST /api/v1/auth/login)
- Uses
admin@example.com/Admin123! - Auto-saves
access_tokento environment
- Uses
- Check response - should have
access_token
- Go to Users Management folder
- Run List All Users (GET /api/v1/users)
- Should return list of users
- Run Get User by ID (GET /api/v1/users/{user_id})
- Uses
{{user_id}}variable
- Uses
- Run List All Roles (GET /api/v1/users/roles/list)
- Shows available roles: admin, user, viewer, moderator
- Go to Examples - Items folder
- Run Create Item (POST /api/v1/examples/items)
- Creates a new item
- Copy ID to
item_idvariable
- Run Get Item by ID (GET /api/v1/examples/items/{item_id})
- Run Update Item (PATCH /api/v1/examples/items/{item_id})
- Run Delete Item (DELETE /api/v1/examples/items/{item_id})
| Variable | Value | Purpose |
|---|---|---|
base_url |
http://localhost:8000 | API base URL |
access_token |
(auto-filled) | JWT token from login |
refresh_token |
(auto-filled) | Refresh token |
user_id |
(manual) | User ID for operations |
item_id |
(manual) | Item ID for operations |
pedido_id |
(manual) | Order ID for operations |
admin_email |
admin@example.com | Default admin email |
admin_password |
Admin123! | Default admin password |
POST /api/v1/auth/register- Register new userPOST /api/v1/auth/login- Login (saves token)GET /api/v1/auth/me- Get current userPOST /api/v1/auth/logout- Logout
GET /api/v1/users- List users (paginated)GET /api/v1/users/{user_id}- Get userPATCH /api/v1/users/{user_id}- Update userPOST /api/v1/users/{user_id}/roles- Assign roleDELETE /api/v1/users/{user_id}/roles/{role_name}- Revoke roleGET /api/v1/users/roles/list- List all roles
GET /api/v1/examples/items- List itemsPOST /api/v1/examples/items- Create itemGET /api/v1/examples/items/{item_id}- Get itemPATCH /api/v1/examples/items/{item_id}- Update itemDELETE /api/v1/examples/items/{item_id}- Delete item
GET /api/v1/examples/pedidos- List ordersPOST /api/v1/examples/pedidos- Create orderGET /api/v1/examples/pedidos/{pedido_id}- Get orderPOST /api/v1/examples/pedidos/{pedido_id}/items- Add item to orderPOST /api/v1/examples/pedidos/{pedido_id}/confirm- Confirm orderPOST /api/v1/examples/pedidos/{pedido_id}/cancel- Cancel order
GET /health/live- Liveness checkGET /health/ready- Readiness check
Admin User:
- Email:
admin@example.com - Password:
Admin123!
Available Roles:
admin- Full system accessuser- Standard user accessviewer- Read-only accessmoderator- Content moderation
- Auto-save tokens: Login request automatically saves
access_tokento environment - Bearer token: All authenticated endpoints use
Authorization: Bearer {{access_token}} - Pagination: List endpoints support
pageandpage_sizequery parameters - Error handling: Check response status codes and error messages
- Test order: Follow the workflow above for best results
- Token expired: Run Login again
- Wrong token: Check
access_tokenvariable in environment
- Endpoint doesn't exist: Check URL in collection
- Resource not found: Verify ID variables are set
- Check server logs:
docker-compose logs api - Verify database is running:
docker-compose ps
- API not running: Start with
docker-compose up -d - Wrong port: Verify
base_urlishttp://localhost:8000
# Start services
docker-compose -f deployments/docker/docker-compose.example.yml up -d
# View logs
docker-compose -f deployments/docker/docker-compose.example.yml logs -f api
# Stop services
docker-compose -f deployments/docker/docker-compose.example.yml down
# Reset database
docker-compose -f deployments/docker/docker-compose.example.yml down -v
docker-compose -f deployments/docker/docker-compose.example.yml up -d- API Docs: http://localhost:8000/docs (Swagger UI)
- ReDoc: http://localhost:8000/redoc
- OpenAPI Schema: http://localhost:8000/openapi.json
Created: 2024-12-01
Last Updated: 2024-12-01
API Version: 2025