Directory-tree encrypted share mock; /health reports mockVerae/nats; middleware OpenAPI extended; zappier receipt by jobId; activate Create Timestamp (local mock or hosted); GitHub Actions test:offline; compose builds zappier image; seed-demo.mjs. No Zapier login or live Verae required.
144 lines
3.4 KiB
YAML
144 lines
3.4 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Zappier API
|
|
version: 0.1.0
|
|
description: Metered data API. Every priced call returns its quote.
|
|
security:
|
|
- apiKey: []
|
|
paths:
|
|
/v1/status:
|
|
get:
|
|
operationId: status
|
|
summary: Service status (free)
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/v1/transform:
|
|
post:
|
|
operationId: transform
|
|
summary: Uppercase a string (fixed price)
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [text]
|
|
properties:
|
|
text:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/v1/storage:
|
|
post:
|
|
operationId: storage
|
|
summary: Store metadata and file attachments (variable price by size)
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: string
|
|
description: JSON string of metadata
|
|
attachments:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
get:
|
|
operationId: storage-list
|
|
summary: List your stored items (free)
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/v1/timestamp:
|
|
post:
|
|
operationId: timestamp
|
|
summary: Register a timestamp (proxies middleware or in-process mock)
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: string
|
|
sha256:
|
|
type: string
|
|
hashAlg:
|
|
type: string
|
|
responses:
|
|
'202':
|
|
description: Accepted
|
|
/v1/hashes/{sha256}:
|
|
get:
|
|
operationId: hash-lookup
|
|
summary: Lookup a SHA256 timestamp (mock)
|
|
parameters:
|
|
- name: sha256
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
'404':
|
|
description: Missing
|
|
/v1/receipts/{jobId}:
|
|
get:
|
|
operationId: receipt
|
|
summary: Retrieval receipt JSON (mock job ids from /v1/timestamp)
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
'404':
|
|
description: Missing
|
|
/v1/add:
|
|
post:
|
|
operationId: add
|
|
summary: Add two numbers (activate-now sample)
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [number1, number2]
|
|
properties:
|
|
number1:
|
|
type: number
|
|
description: First addend
|
|
number2:
|
|
type: number
|
|
description: Second addend
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/v1/usage:
|
|
get:
|
|
operationId: usage
|
|
summary: Your usage summary for the current period
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
components:
|
|
securitySchemes:
|
|
apiKey:
|
|
type: apiKey
|
|
in: header
|
|
name: x-api-key
|