84 lines
2.1 KiB
YAML
84 lines
2.1 KiB
YAML
spec_type: openapi
|
|
name: API Specifications
|
|
version: "1.0"
|
|
|
|
apis:
|
|
published:
|
|
- name: Products API
|
|
version: v1
|
|
base_path: "/api/v1/products"
|
|
endpoints:
|
|
- method: GET
|
|
path: /
|
|
used: true
|
|
impact: modify
|
|
description: List all products
|
|
query_params:
|
|
- name: page
|
|
type: integer
|
|
- name: limit
|
|
type: integer
|
|
- name: category
|
|
type: string
|
|
response: ProductList
|
|
|
|
- method: GET
|
|
path: /{id}
|
|
used: true
|
|
impact: no change
|
|
description: Get product by ID
|
|
response: Product
|
|
|
|
- method: POST
|
|
path: /
|
|
used: true
|
|
impact: config
|
|
description: Create new product
|
|
auth_required: true
|
|
roles: [seller, admin]
|
|
request: CreateProduct
|
|
response: Product
|
|
|
|
- name: Orders API
|
|
version: v1
|
|
base_path: /api/v1/orders
|
|
endpoints:
|
|
- method: POST
|
|
path: /
|
|
used: false
|
|
impact: no change
|
|
description: Create new order
|
|
auth_required: true
|
|
request: CreateOrder
|
|
response: Order
|
|
|
|
- method: GET
|
|
path: /{id}
|
|
used: true
|
|
impact: no change
|
|
description: Get order by ID
|
|
auth_required: true
|
|
response: Order
|
|
|
|
- name: Dynamic navigation
|
|
specification: "https://apicuriows.shaun.sku61.com/sharing/b50006fc-510a-466c-bfa7-3ba808f52d47?content=true"
|
|
specification_include: false
|
|
base_path: /api/dyna_menu
|
|
|
|
consumed:
|
|
- name: Payment Gateway
|
|
provider: Stripe
|
|
base_url: "https://api{environment}.stripe.com/v1"
|
|
endpoints:
|
|
- method: POST
|
|
path: /v1/payment_intents
|
|
description: Create payment intent
|
|
|
|
- name: Email Service
|
|
provider: SendGrid
|
|
base_url: "https://api{environment}.sendgrid.com/v2"
|
|
endpoints:
|
|
- method: POST
|
|
path: /v3/mail/send
|
|
description: Send transactional email
|