{"openapi":"3.0.3","info":{"title":"Signal Registry API Spec","description":"API Specification for Signal device information storage and access management","version":"1.0.0"},"paths":{"/signal/registry/healthz/live":{"get":{"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"uptime":{"type":"number"},"checks":{"type":"object","patternProperties":{"^(.*)$":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"details":{"type":"object","patternProperties":{"^(.*)$":{}}}}}}}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"uptime":{"type":"number"},"checks":{"type":"object","patternProperties":{"^(.*)$":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"details":{"type":"object","patternProperties":{"^(.*)$":{}}}}}}}}}}}}},"operationId":"getSignalRegistryHealthzLive"}},"/signal/registry/healthz/ready":{"get":{"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"uptime":{"type":"number"},"checks":{"type":"object","patternProperties":{"^(.*)$":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"details":{"type":"object","patternProperties":{"^(.*)$":{}}}}}}}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"uptime":{"type":"number"},"checks":{"type":"object","patternProperties":{"^(.*)$":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"details":{"type":"object","patternProperties":{"^(.*)$":{}}}}}}}}}}}}},"operationId":"getSignalRegistryHealthzReady"}},"/signal/registry/healthz":{"get":{"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"uptime":{"type":"number"},"checks":{"type":"object","patternProperties":{"^(.*)$":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"details":{"type":"object","patternProperties":{"^(.*)$":{}}}}}}}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"uptime":{"type":"number"},"checks":{"type":"object","patternProperties":{"^(.*)$":{"type":"object","required":["healthy"],"properties":{"healthy":{"type":"boolean"},"details":{"type":"object","patternProperties":{"^(.*)$":{}}}}}}}}}}}}},"operationId":"getSignalRegistryHealthz"}},"/signal/registry/v1/users/me":{"get":{"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"uid":{"type":"string"},"devices":{"type":"array","items":{"type":"string"}}},"required":["uid","devices"],"additionalProperties":false}}}}},"operationId":"getSignalRegistryV1UsersMe"}},"/signal/registry/v1/devices/{deviceId}/membership":{"get":{"parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string","description":"Bearer token"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"role":{"type":"string"}},"required":["role"],"additionalProperties":false}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"message":{"type":"string"},"status":{"type":"number"},"errors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"summary":{"type":"string"}},"required":["name","message"],"additionalProperties":false}}},"required":["message","status","errors"],"additionalProperties":false}}}}},"operationId":"getSignalRegistryV1DevicesByDeviceIdMembership"}},"/signal/registry/v1/devices/{deviceId}":{"get":{"parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string","description":"Bearer token"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string"},"connected":{"type":"boolean"}},"required":["id","connected"],"additionalProperties":false}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"message":{"type":"string"},"status":{"type":"number"},"errors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"summary":{"type":"string"}},"required":["name","message"],"additionalProperties":false}}},"required":["message","status","errors"],"additionalProperties":false}}}}},"operationId":"getSignalRegistryV1DevicesByDeviceId"}},"/signal/registry/v1/devices/{deviceId}/users/me":{"delete":{"parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string","description":"Bearer token"}}],"responses":{"204":{"description":"Response for status 204","content":{"type":"void"}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"message":{"type":"string"},"status":{"type":"number"},"errors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"summary":{"type":"string"}},"required":["name","message"],"additionalProperties":false}}},"required":["message","status","errors"],"additionalProperties":false}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"message":{"type":"string"},"status":{"type":"number"},"errors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"summary":{"type":"string"}},"required":["name","message"],"additionalProperties":false}}},"required":["message","status","errors"],"additionalProperties":false}}}}},"operationId":"deleteSignalRegistryV1DevicesByDeviceIdUsersMe"}},"/signal/registry/v1/shares/redeem":{"post":{"parameters":[{"name":"authorization","in":"header","required":false,"schema":{"description":"Bearer token","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","description":"Random 16 byte nonce in base62 format, prefixed with \"share_\"."}},"required":["code"],"additionalProperties":false}},"application/x-www-form-urlencoded":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","description":"Random 16 byte nonce in base62 format, prefixed with \"share_\"."}},"required":["code"],"additionalProperties":false}},"multipart/form-data":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","description":"Random 16 byte nonce in base62 format, prefixed with \"share_\"."}},"required":["code"],"additionalProperties":false}}}},"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deviceId":{"type":"string"},"userId":{"type":"string"},"accessToken":{"type":"string"}},"required":["deviceId","userId"],"additionalProperties":false}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"message":{"type":"string"},"status":{"type":"number"},"errors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"summary":{"type":"string"}},"required":["name","message"],"additionalProperties":false}}},"required":["message","status","errors"],"additionalProperties":false}}}}},"operationId":"postSignalRegistryV1SharesRedeem"}}},"components":{"schemas":{}}}