Wait-via-NATS returns completed or pending+jobId (GATE 9). Mock SHA256
idempotent register + GET /hashes/{sha256}. Zappier commercial edge has
POST /v1/timestamp and hash-lookup. GATE 12 smoke (signup + wait) passes.
NS1 NATS is 127.0.0.1:4222 on 70.88.205.138; SSH tunnel :14222. Local
nats-server -js used for isolated tests. Activate app adds Echo Text.
Learned: JetStream on NS1 is loopback-only; do not bind 4222 public.
129 lines
3.1 KiB
YAML
129 lines
3.1 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/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
|