{"openapi":"3.1.0","info":{"title":"points API","version":"1.0.0"},"servers":[{"url":"https://points.dorianmarie.com"}],"paths":{"/api":{"get":{"summary":"public application metadata","responses":{"200":{"description":"project and api links"}}}},"/api/identity":{"get":{"summary":"authenticated identity","security":[{"bearer":[]},{"cookie":[]}],"responses":{"200":{"description":"user id and email"},"401":{"description":"sign in required"}}}},"/api/v1/openapi.json":{"get":{"summary":"complete points api specification: balances, currencies, permanent email transfers, reserved withdrawals, and administrator operations","security":[{"cookie":[]},{"bearer":[]}],"responses":{"200":{"description":"success"},"401":{"description":"authentication required"}}}},"/api/v1/docs":{"get":{"summary":"request examples and authentication requirements; use an account session or a points-scoped bearer key","security":[{"cookie":[]},{"bearer":[]}],"responses":{"200":{"description":"success"},"401":{"description":"authentication required"}}}},"/api/v1/transfers":{"post":{"summary":"transfer {email,currencyId,amount}; decimal string amount; same-origin and idempotency-key required","security":[{"cookie":[]},{"bearer":[]}],"responses":{"200":{"description":"success"},"401":{"description":"authentication required"}}}},"/api/v1/withdrawals":{"post":{"summary":"reserve {currencyId,amount,instructions} for manual payout; same-origin and idempotency-key required","security":[{"cookie":[]},{"bearer":[]}],"responses":{"200":{"description":"success"},"401":{"description":"authentication required"}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"},"cookie":{"type":"apiKey","in":"cookie","name":"__Host-dm-session"}}}}