Spaces:
Paused
Paused
| { | |
| "info": { | |
| "_postman_id": "a8c5d3b1-2d98-4e9f-9b1e-9a1c2b3d4f5e", | |
| "name": "Marine Business Directory API", | |
| "description": "A collection for the Marine Business Directory API defined in `app.py`. This API allows searching for marine-related companies, checking user status, and retrieving system statistics.", | |
| "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" | |
| }, | |
| "item": [ | |
| { | |
| "name": "Public", | |
| "item": [ | |
| { | |
| "name": "Health Check", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/health", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "health" | |
| ] | |
| }, | |
| "description": "Checks the health of the API. Should return a status of 'healthy'." | |
| }, | |
| "response": [] | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "API Endpoints", | |
| "item": [ | |
| { | |
| "name": "Get All Categories", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/categories", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "categories" | |
| ] | |
| }, | |
| "description": "Retrieves a list of all available company categories as an ID: Name mapping." | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "Get All Locations", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/locations", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "locations" | |
| ] | |
| }, | |
| "description": "Retrieves a list of all available locations as an ID: Name mapping." | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "Search Companies", | |
| "item": [ | |
| { | |
| "name": "Search by Category and Location", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/search?category_id=1&location_id=1", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "search" | |
| ], | |
| "query": [ | |
| { | |
| "key": "category_id", | |
| "value": "1", | |
| "description": "ID of the category (e.g., '1' for Marinas)." | |
| }, | |
| { | |
| "key": "location_id", | |
| "value": "1", | |
| "description": "ID of the location (e.g., '1' for Singapore)." | |
| } | |
| ] | |
| }, | |
| "description": "Search for companies with the required `category_id` and `location_id` parameters." | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "Search with a Search Term", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/search?category_id=1&location_id=1&search_term=luxury", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "search" | |
| ], | |
| "query": [ | |
| { | |
| "key": "category_id", | |
| "value": "1" | |
| }, | |
| { | |
| "key": "location_id", | |
| "value": "1" | |
| }, | |
| { | |
| "key": "search_term", | |
| "value": "luxury", | |
| "description": "Optional search term to filter by company name, description, or keywords." | |
| } | |
| ] | |
| }, | |
| "description": "Performs a search including an optional `search_term` to filter results further." | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "Search - Missing Required Params", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/search?category_id=1", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "search" | |
| ], | |
| "query": [ | |
| { | |
| "key": "category_id", | |
| "value": "1" | |
| } | |
| ] | |
| }, | |
| "description": "This request is expected to fail with a 400 Bad Request error because the `location_id` is missing." | |
| }, | |
| "response": [] | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "Get User Status", | |
| "item": [ | |
| { | |
| "name": "Get Premium User Status", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/user/status?phone_number=+6591234567", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "user", | |
| "status" | |
| ], | |
| "query": [ | |
| { | |
| "key": "phone_number", | |
| "value": "+6591234567", | |
| "description": "The user's phone number, including country code." | |
| } | |
| ] | |
| }, | |
| "description": "Retrieves the subscription status for a known premium user." | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "Get Free User Status", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/user/status?phone_number=+6598765432", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "user", | |
| "status" | |
| ], | |
| "query": [ | |
| { | |
| "key": "phone_number", | |
| "value": "+6598765432" | |
| } | |
| ] | |
| }, | |
| "description": "Retrieves the subscription status for a known free user." | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "Get New User Status", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/user/status?phone_number=+60123456789", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "user", | |
| "status" | |
| ], | |
| "query": [ | |
| { | |
| "key": "phone_number", | |
| "value": "+60123456789" | |
| } | |
| ] | |
| }, | |
| "description": "Retrieves the default free tier status for a user not present in the system." | |
| }, | |
| "response": [] | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "Get System Stats", | |
| "request": { | |
| "method": "GET", | |
| "header": [], | |
| "url": { | |
| "raw": "{{baseUrl}}/api/stats", | |
| "host": [ | |
| "{{baseUrl}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "stats" | |
| ] | |
| }, | |
| "description": "Retrieves internal system statistics, such as total counts for categories, locations, companies, and users." | |
| }, | |
| "response": [] | |
| } | |
| ], | |
| "auth": { | |
| "type": "bearer", | |
| "bearer": [ | |
| { | |
| "key": "token", | |
| "value": "{{api_token}}", | |
| "type": "string" | |
| } | |
| ] | |
| }, | |
| "event": [ | |
| { | |
| "listen": "prerequest", | |
| "script": { | |
| "type": "text/javascript", | |
| "exec": [ | |
| "" | |
| ] | |
| } | |
| }, | |
| { | |
| "listen": "test", | |
| "script": { | |
| "type": "text/javascript", | |
| "exec": [ | |
| "" | |
| ] | |
| } | |
| } | |
| ] | |
| } | |
| ], | |
| "auth": { | |
| "type": "noauth" | |
| }, | |
| "variable": [ | |
| { | |
| "key": "baseUrl", | |
| "value": "http://localhost:5000", | |
| "type": "string", | |
| "description": "The base URL for the API." | |
| }, | |
| { | |
| "key": "api_token", | |
| "value": "ssg_secure_token_2025", | |
| "type": "string", | |
| "description": "The API token for authorized endpoints." | |
| } | |
| ] | |
| } |