{"openapi":"3.1.0","info":{"title":"RuneLore Merchant Orders","version":"1.1.0","description":"Authorized supply purchases for shops, business inventory and AI agents. Stripe processes payments. WooCommerce is an optional store connector. See /merchant-connectors for authentication, HMAC signing, spending consent and stock rules. Automatic ordering requires an active account, a working connection with order permission, published approved products, a saved Stripe payment method and enabled spending limits. US delivery and USD only. Product and tracking updates require polling. Failure alerts appear in the account/API or WooCommerce order notes; email and SMS alerts are not provided. Native Shopify/Etsy apps and AI OAuth login are not provided."},"servers":[{"url":"https://runeloresupply.com"}],"security":[{"merchantKey":[]}],"components":{"securitySchemes":{"merchantKey":{"type":"http","scheme":"bearer"}}},"paths":{"/merchant-api/v1/connection":{"get":{"operationId":"get_connection","summary":"Read merchant connection","responses":{"200":{"description":"Tenant-scoped JSON result"},"401":{"description":"Invalid connection key"}}}},"/merchant-api/v1/listings":{"get":{"operationId":"get_listings","summary":"Read merchant listings","responses":{"200":{"description":"Tenant-scoped JSON result"},"401":{"description":"Invalid connection key"}}}},"/merchant-api/v1/orders":{"get":{"operationId":"get_orders","summary":"Read merchant orders","responses":{"200":{"description":"Tenant-scoped JSON result"},"401":{"description":"Invalid connection key"}}},"post":{"operationId":"merchant_orders","summary":"Authenticated orders operation; orders and inventory may spend money","parameters":[{"name":"X-RuneLore-Timestamp","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Nonce","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Signature","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"externalOrderId":{"type":"string"},"paid":{"type":"boolean","const":true},"maximumTotalMinor":{"type":"integer","minimum":1,"maximum":10000000},"recipient":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"address1":{"type":"string"},"address2":{"type":"string"},"city":{"type":"string"},"stateCode":{"type":"string"},"countryCode":{"type":"string"},"zip":{"type":"string"},"phone":{"type":"string"}},"required":["name","email","address1","city","stateCode","countryCode","zip"],"additionalProperties":false},"items":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","properties":{"listingId":{"type":"string","pattern":"^[a-f0-9]{48}$"},"quantity":{"type":"integer","minimum":1,"maximum":1000},"expectedUnitMinor":{"type":"integer","minimum":1,"maximum":10000000},"designDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["listingId","quantity","expectedUnitMinor","designDigest"],"additionalProperties":false}}},"required":["externalOrderId","paid","maximumTotalMinor","recipient","items"],"additionalProperties":false}}}},"responses":{"200":{"description":"Saved result; safe to retry with the same logical IDs and new signature"},"401":{"description":"Invalid authentication/signature"},"403":{"description":"Permission denied"},"409":{"description":"Conflict or order requires attention"},"429":{"description":"Back off"}}}},"/merchant-api/v1/orders/{id}":{"get":{"operationId":"get_orders_by_id","summary":"Read merchant orders/{id}","responses":{"200":{"description":"Tenant-scoped JSON result"},"401":{"description":"Invalid connection key"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{48}$"}}]}},"/merchant-api/v1/restock":{"get":{"operationId":"get_restock","summary":"Read merchant restock","responses":{"200":{"description":"Tenant-scoped JSON result"},"401":{"description":"Invalid connection key"}}}},"/merchant-api/v1/published":{"post":{"operationId":"merchant_published","summary":"Authenticated published operation; orders and inventory may spend money","parameters":[{"name":"X-RuneLore-Timestamp","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Nonce","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Signature","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listingId":{"type":"string","pattern":"^[a-f0-9]{48}$"},"externalProductId":{"type":"string"}},"required":["listingId","externalProductId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Saved result; safe to retry with the same logical IDs and new signature"},"401":{"description":"Invalid authentication/signature"},"403":{"description":"Permission denied"},"409":{"description":"Conflict or order requires attention"},"429":{"description":"Back off"}}}},"/merchant-api/v1/cancel":{"post":{"operationId":"merchant_cancel","summary":"Authenticated cancel operation; orders and inventory may spend money","parameters":[{"name":"X-RuneLore-Timestamp","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Nonce","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Signature","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-f0-9]{48}$"}},"required":["id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Saved result; safe to retry with the same logical IDs and new signature"},"401":{"description":"Invalid authentication/signature"},"403":{"description":"Permission denied"},"409":{"description":"Conflict or order requires attention"},"429":{"description":"Back off"}}}},"/merchant-api/v1/inventory":{"post":{"operationId":"merchant_inventory","summary":"Authenticated inventory operation; orders and inventory may spend money","parameters":[{"name":"X-RuneLore-Timestamp","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Nonce","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Signature","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ruleId":{"type":"string","pattern":"^[a-f0-9]{48}$"},"available":{"type":"integer","minimum":0},"sequence":{"type":"integer","minimum":1},"observedAt":{"type":"integer"}},"required":["ruleId","available","sequence","observedAt"],"additionalProperties":false}}}},"responses":{"200":{"description":"Saved result; safe to retry with the same logical IDs and new signature"},"401":{"description":"Invalid authentication/signature"},"403":{"description":"Permission denied"},"409":{"description":"Conflict or order requires attention"},"429":{"description":"Back off"}}}},"/merchant-api/v1/received":{"post":{"operationId":"merchant_received","summary":"Authenticated received operation; orders and inventory may spend money","parameters":[{"name":"X-RuneLore-Timestamp","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Nonce","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-RuneLore-Signature","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ruleId":{"type":"string","pattern":"^[a-f0-9]{48}$"},"orderId":{"type":"string","pattern":"^[a-f0-9]{48}$"},"receiptId":{"type":"string"},"quantity":{"type":"integer","minimum":1}},"required":["ruleId","orderId","receiptId","quantity"],"additionalProperties":false}}}},"responses":{"200":{"description":"Saved result; safe to retry with the same logical IDs and new signature"},"401":{"description":"Invalid authentication/signature"},"403":{"description":"Permission denied"},"409":{"description":"Conflict or order requires attention"},"429":{"description":"Back off"}}}}}}