designs/solutions/test/specs/service_openapi.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