{"openapi":"3.1.0","info":{"title":"Dahlia API","version":"1.0.0"},"paths":{"/v1/api-keys/:id":{"delete":{"summary":"DELETE /v1/api-keys/:id","responses":{"200":{"description":"OK"}}}},"/v1/bundles/:id/grants/:verifierOrgId":{"delete":{"summary":"DELETE /v1/bundles/:id/grants/:verifierOrgId","responses":{"200":{"description":"OK"}}}},"/v1/me/sessions/:id":{"delete":{"summary":"DELETE /v1/me/sessions/:id","responses":{"200":{"description":"OK"}}}},"/v1/users/:id":{"delete":{"summary":"DELETE /v1/users/:id","responses":{"200":{"description":"OK"}}}},"/":{"get":{"summary":"GET /","responses":{"200":{"description":"OK"}}}},"/app":{"get":{"summary":"GET /app","responses":{"200":{"description":"OK"}}}},"/app/allocations":{"get":{"summary":"GET /app/allocations","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/allocations","responses":{"200":{"description":"OK"}}}},"/app/api-keys":{"get":{"summary":"GET /app/api-keys","responses":{"200":{"description":"OK"}}}},"/app/api-keys/:id/revoke":{"get":{"summary":"GET /app/api-keys/:id/revoke","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/api-keys/:id/revoke","responses":{"200":{"description":"OK"}}}},"/app/api-keys/new":{"get":{"summary":"GET /app/api-keys/new","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/api-keys/new","responses":{"200":{"description":"OK"}}}},"/app/approvals":{"get":{"summary":"GET /app/approvals","responses":{"200":{"description":"OK"}}}},"/app/audit":{"get":{"summary":"GET /app/audit","responses":{"200":{"description":"OK"}}}},"/app/audit/export":{"get":{"summary":"GET /app/audit/export","responses":{"200":{"description":"OK"}}}},"/app/bundles":{"get":{"summary":"GET /app/bundles","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/bundles","responses":{"200":{"description":"OK"}}}},"/app/calculations":{"get":{"summary":"GET /app/calculations","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/calculations","responses":{"200":{"description":"OK"}}}},"/app/facilities":{"get":{"summary":"GET /app/facilities","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/facilities","responses":{"200":{"description":"OK"}}}},"/app/grants":{"get":{"summary":"GET /app/grants","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/grants","responses":{"200":{"description":"OK"}}}},"/app/imports":{"get":{"summary":"GET /app/imports","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/imports","responses":{"200":{"description":"OK"}}}},"/app/login":{"get":{"summary":"GET /app/login","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/login","responses":{"200":{"description":"OK"}}}},"/app/measurements":{"get":{"summary":"GET /app/measurements","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/measurements","responses":{"200":{"description":"OK"}}}},"/app/metering-points":{"get":{"summary":"GET /app/metering-points","responses":{"200":{"description":"OK"}}}},"/app/mfa/setup":{"get":{"summary":"GET /app/mfa/setup","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/mfa/setup","responses":{"200":{"description":"OK"}}}},"/app/mfa/verify":{"get":{"summary":"GET /app/mfa/verify","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/mfa/verify","responses":{"200":{"description":"OK"}}}},"/app/propose":{"get":{"summary":"GET /app/propose","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/propose","responses":{"200":{"description":"OK"}}}},"/app/runs":{"get":{"summary":"GET /app/runs","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/runs","responses":{"200":{"description":"OK"}}}},"/app/settings/sessions":{"get":{"summary":"GET /app/settings/sessions","responses":{"200":{"description":"OK"}}}},"/app/users":{"get":{"summary":"GET /app/users","responses":{"200":{"description":"OK"}}}},"/app/users/:id/disable":{"get":{"summary":"GET /app/users/:id/disable","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/users/:id/disable","responses":{"200":{"description":"OK"}}}},"/app/users/:id/role":{"get":{"summary":"GET /app/users/:id/role","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/users/:id/role","responses":{"200":{"description":"OK"}}}},"/app/users/:id/unlock-login":{"get":{"summary":"GET /app/users/:id/unlock-login","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/users/:id/unlock-login","responses":{"200":{"description":"OK"}}}},"/app/users/invite":{"get":{"summary":"GET /app/users/invite","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /app/users/invite","responses":{"200":{"description":"OK"}}}},"/app/wizard":{"get":{"summary":"GET /app/wizard","responses":{"200":{"description":"OK"}}}},"/health":{"get":{"summary":"GET /health","responses":{"200":{"description":"OK"}}}},"/operator":{"get":{"summary":"GET /operator","responses":{"200":{"description":"OK"}}}},"/portal":{"get":{"summary":"GET /portal","responses":{"200":{"description":"OK"}}}},"/portal/attestations":{"get":{"summary":"GET /portal/attestations","responses":{"200":{"description":"OK"}}}},"/portal/bundles/:id":{"get":{"summary":"GET /portal/bundles/:id","responses":{"200":{"description":"OK"}}}},"/portal/bundles/:id/attest":{"get":{"summary":"GET /portal/bundles/:id/attest","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /portal/bundles/:id/attest","responses":{"200":{"description":"OK"}}}},"/portal/bundles/:id/verification":{"get":{"summary":"GET /portal/bundles/:id/verification","responses":{"200":{"description":"OK"}}}},"/portal/login":{"get":{"summary":"GET /portal/login","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /portal/login","responses":{"200":{"description":"OK"}}}},"/portal/mfa/setup":{"get":{"summary":"GET /portal/mfa/setup","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /portal/mfa/setup","responses":{"200":{"description":"OK"}}}},"/portal/mfa/verify":{"get":{"summary":"GET /portal/mfa/verify","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /portal/mfa/verify","responses":{"200":{"description":"OK"}}}},"/portal/settings/sessions":{"get":{"summary":"GET /portal/settings/sessions","responses":{"200":{"description":"OK"}}}},"/portal/sign.js":{"get":{"summary":"GET /portal/sign.js","responses":{"200":{"description":"OK"}}}},"/ready":{"get":{"summary":"GET /ready","responses":{"200":{"description":"OK"}}}},"/site/dahlia-mark-sm.svg":{"get":{"summary":"GET /site/dahlia-mark-sm.svg","responses":{"200":{"description":"OK"}}}},"/site/dahlia-mark.svg":{"get":{"summary":"GET /site/dahlia-mark.svg","responses":{"200":{"description":"OK"}}}},"/site/favicon-sm.svg":{"get":{"summary":"GET /site/favicon-sm.svg","responses":{"200":{"description":"OK"}}}},"/site/favicon.svg":{"get":{"summary":"GET /site/favicon.svg","responses":{"200":{"description":"OK"}}}},"/site/fonts.css":{"get":{"summary":"GET /site/fonts.css","responses":{"200":{"description":"OK"}}}},"/site/fonts/files/dm-sans-latin-400-normal.woff2":{"get":{"summary":"GET /site/fonts/files/dm-sans-latin-400-normal.woff2","responses":{"200":{"description":"OK"}}}},"/site/fonts/files/dm-sans-latin-500-normal.woff2":{"get":{"summary":"GET /site/fonts/files/dm-sans-latin-500-normal.woff2","responses":{"200":{"description":"OK"}}}},"/site/fonts/files/dm-sans-latin-600-normal.woff2":{"get":{"summary":"GET /site/fonts/files/dm-sans-latin-600-normal.woff2","responses":{"200":{"description":"OK"}}}},"/site/fonts/files/fraunces-latin-480-normal.woff2":{"get":{"summary":"GET /site/fonts/files/fraunces-latin-480-normal.woff2","responses":{"200":{"description":"OK"}}}},"/site/fonts/files/fraunces-latin-560-normal.woff2":{"get":{"summary":"GET /site/fonts/files/fraunces-latin-560-normal.woff2","responses":{"200":{"description":"OK"}}}},"/site/fonts/files/ibm-plex-mono-latin-400-normal.woff2":{"get":{"summary":"GET /site/fonts/files/ibm-plex-mono-latin-400-normal.woff2","responses":{"200":{"description":"OK"}}}},"/site/fonts/files/ibm-plex-mono-latin-500-normal.woff2":{"get":{"summary":"GET /site/fonts/files/ibm-plex-mono-latin-500-normal.woff2","responses":{"200":{"description":"OK"}}}},"/site/site.css":{"get":{"summary":"GET /site/site.css","responses":{"200":{"description":"OK"}}}},"/site/site.js":{"get":{"summary":"GET /site/site.js","responses":{"200":{"description":"OK"}}}},"/solutions":{"get":{"summary":"GET /solutions","responses":{"200":{"description":"OK"}}}},"/startup":{"get":{"summary":"GET /startup","responses":{"200":{"description":"OK"}}}},"/v1/api-keys":{"get":{"summary":"GET /v1/api-keys","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /v1/api-keys","responses":{"200":{"description":"OK"}}}},"/v1/audit":{"get":{"summary":"GET /v1/audit","responses":{"200":{"description":"OK"}}}},"/v1/audit/export":{"get":{"summary":"GET /v1/audit/export","responses":{"200":{"description":"OK"}}}},"/v1/bundles/:id/export":{"get":{"summary":"GET /v1/bundles/:id/export","responses":{"200":{"description":"OK"}}}},"/v1/bundles/:id/verification":{"get":{"summary":"GET /v1/bundles/:id/verification","responses":{"200":{"description":"OK"}}}},"/v1/calculations/:id":{"get":{"summary":"GET /v1/calculations/:id","responses":{"200":{"description":"OK"}}}},"/v1/documents/:hash":{"get":{"summary":"GET /v1/documents/:hash","responses":{"200":{"description":"OK"}}}},"/v1/facilities":{"get":{"summary":"GET /v1/facilities","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /v1/facilities","responses":{"200":{"description":"OK"}}}},"/v1/facilities/:id/metering-points":{"get":{"summary":"GET /v1/facilities/:id/metering-points","responses":{"200":{"description":"OK"}}}},"/v1/flows":{"get":{"summary":"GET /v1/flows","responses":{"200":{"description":"OK"}}}},"/v1/me/mfa/status":{"get":{"summary":"GET /v1/me/mfa/status","responses":{"200":{"description":"OK"}}}},"/v1/me/sessions":{"get":{"summary":"GET /v1/me/sessions","responses":{"200":{"description":"OK"}}}},"/v1/measurements":{"get":{"summary":"GET /v1/measurements","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /v1/measurements","responses":{"200":{"description":"OK"}}}},"/v1/metering-points/overdue":{"get":{"summary":"GET /v1/metering-points/overdue","responses":{"200":{"description":"OK"}}}},"/v1/methodologies":{"get":{"summary":"GET /v1/methodologies","responses":{"200":{"description":"OK"}}}},"/v1/openapi.json":{"get":{"summary":"GET /v1/openapi.json","responses":{"200":{"description":"OK"}}}},"/v1/runs":{"get":{"summary":"GET /v1/runs","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /v1/runs","responses":{"200":{"description":"OK"}}}},"/v1/supplier-declarations":{"get":{"summary":"GET /v1/supplier-declarations","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /v1/supplier-declarations","responses":{"200":{"description":"OK"}}}},"/v1/suppliers":{"get":{"summary":"GET /v1/suppliers","responses":{"200":{"description":"OK"}}},"post":{"summary":"POST /v1/suppliers","responses":{"200":{"description":"OK"}}}},"/v1/users":{"get":{"summary":"GET /v1/users","responses":{"200":{"description":"OK"}}}},"/v1/verifier/bundles":{"get":{"summary":"GET /v1/verifier/bundles","responses":{"200":{"description":"OK"}}}},"/v1/verifier/bundles/:id/attestation-payload":{"get":{"summary":"GET /v1/verifier/bundles/:id/attestation-payload","responses":{"200":{"description":"OK"}}}},"/v1/verifier/bundles/:id/attestations":{"get":{"summary":"GET /v1/verifier/bundles/:id/attestations","responses":{"200":{"description":"OK"}}}},"/v1/verifier/bundles/:id/chain":{"get":{"summary":"GET /v1/verifier/bundles/:id/chain","responses":{"200":{"description":"OK"}}}},"/v1/verifier/bundles/:id/verification":{"get":{"summary":"GET /v1/verifier/bundles/:id/verification","responses":{"200":{"description":"OK"}}}},"/v1/verifier/public-keys/:orgId":{"get":{"summary":"GET /v1/verifier/public-keys/:orgId","responses":{"200":{"description":"OK"}}}},"/verifier":{"get":{"summary":"GET /verifier","responses":{"200":{"description":"OK"}}}},"/v1/users/:id/role":{"patch":{"summary":"PATCH /v1/users/:id/role","responses":{"200":{"description":"OK"}}}},"/app/api-keys/ack":{"post":{"summary":"POST /app/api-keys/ack","responses":{"200":{"description":"OK"}}}},"/app/logout":{"post":{"summary":"POST /app/logout","responses":{"200":{"description":"OK"}}}},"/app/propose/:id/accept":{"post":{"summary":"POST /app/propose/:id/accept","responses":{"200":{"description":"OK"}}}},"/app/propose/:id/reject":{"post":{"summary":"POST /app/propose/:id/reject","responses":{"200":{"description":"OK"}}}},"/app/settings/sessions/:id/revoke":{"post":{"summary":"POST /app/settings/sessions/:id/revoke","responses":{"200":{"description":"OK"}}}},"/app/users/invite/ack":{"post":{"summary":"POST /app/users/invite/ack","responses":{"200":{"description":"OK"}}}},"/portal/logout":{"post":{"summary":"POST /portal/logout","responses":{"200":{"description":"OK"}}}},"/portal/settings/sessions/:id/revoke":{"post":{"summary":"POST /portal/settings/sessions/:id/revoke","responses":{"200":{"description":"OK"}}}},"/v1/allocations":{"post":{"summary":"POST /v1/allocations","responses":{"200":{"description":"OK"}}}},"/v1/auth/accept-invite":{"post":{"summary":"POST /v1/auth/accept-invite","responses":{"200":{"description":"OK"}}}},"/v1/auth/login":{"post":{"summary":"POST /v1/auth/login","responses":{"200":{"description":"OK"}}}},"/v1/auth/logout":{"post":{"summary":"POST /v1/auth/logout","responses":{"200":{"description":"OK"}}}},"/v1/auth/mfa/verify":{"post":{"summary":"POST /v1/auth/mfa/verify","responses":{"200":{"description":"OK"}}}},"/v1/bundles":{"post":{"summary":"POST /v1/bundles","responses":{"200":{"description":"OK"}}}},"/v1/bundles/:id/grants":{"post":{"summary":"POST /v1/bundles/:id/grants","responses":{"200":{"description":"OK"}}}},"/v1/calculations":{"post":{"summary":"POST /v1/calculations","responses":{"200":{"description":"OK"}}}},"/v1/documents":{"post":{"summary":"POST /v1/documents","responses":{"200":{"description":"OK"}}}},"/v1/imports":{"post":{"summary":"POST /v1/imports","responses":{"200":{"description":"OK"}}}},"/v1/me/mfa/confirm":{"post":{"summary":"POST /v1/me/mfa/confirm","responses":{"200":{"description":"OK"}}}},"/v1/me/mfa/setup":{"post":{"summary":"POST /v1/me/mfa/setup","responses":{"200":{"description":"OK"}}}},"/v1/me/password":{"post":{"summary":"POST /v1/me/password","responses":{"200":{"description":"OK"}}}},"/v1/measurements/:id/correction":{"post":{"summary":"POST /v1/measurements/:id/correction","responses":{"200":{"description":"OK"}}}},"/v1/supplier-declarations/:id/correction":{"post":{"summary":"POST /v1/supplier-declarations/:id/correction","responses":{"200":{"description":"OK"}}}},"/v1/users/:id/erase":{"post":{"summary":"POST /v1/users/:id/erase","responses":{"200":{"description":"OK"}}}},"/v1/users/:id/mfa-reset":{"post":{"summary":"POST /v1/users/:id/mfa-reset","responses":{"200":{"description":"OK"}}}},"/v1/users/:id/unlock-login":{"post":{"summary":"POST /v1/users/:id/unlock-login","responses":{"200":{"description":"OK"}}}},"/v1/users/invite":{"post":{"summary":"POST /v1/users/invite","responses":{"200":{"description":"OK"}}}},"/v1/verifier/bundles/:id/attestation":{"post":{"summary":"POST /v1/verifier/bundles/:id/attestation","responses":{"200":{"description":"OK"}}}},"/v1/verifier/keys":{"post":{"summary":"POST /v1/verifier/keys","responses":{"200":{"description":"OK"}}}},"/v1/verifier/keys/:id/revoke":{"post":{"summary":"POST /v1/verifier/keys/:id/revoke","responses":{"200":{"description":"OK"}}}},"/v1/bundles/:id/distribution":{"put":{"summary":"PUT /v1/bundles/:id/distribution","responses":{"200":{"description":"OK"}}}}}}