{"openapi":"3.1.0","info":{"title":"Favorited API","version":"2026-09-24.albus","description":"The Favorited end-user API. Every response is rendered in a dated API version: send `Fav-Version: 2026-09-24.albus` to pin one explicitly."},"servers":[{"url":"https://api.fav.com"}],"tags":[{"name":"Users","description":"The authenticated user."},{"name":"System","description":"Operational endpoints."}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A Favorited access token: an OAuth 2.1 access token from the Favorited authorization server, or a first-party fav.com session token. Scopes listed per operation apply to OAuth tokens."}},"schemas":{"User":{"type":"object","properties":{"object":{"type":"string","enum":["user"],"description":"String representing the object type. Always `user`."},"id":{"type":"string","description":"Unique identifier of the user."},"username":{"type":"string","description":"The user’s public handle."},"image_url":{"type":["string","null"],"description":"URL of the user’s avatar, or null when none is set."}},"required":["object","id","username","image_url"],"description":"A Favorited user account."}},"parameters":{}},"paths":{"/health":{"get":{"tags":["System"],"summary":"Liveness probe","responses":{"200":{"description":"The process is serving.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["healthy"]},"uptime":{"type":"integer","minimum":0,"description":"Seconds since process start."}},"required":["status","uptime"]}}}}}}},"/me":{"get":{"operationId":"me.get","summary":"Retrieve the authenticated user","description":"Returns the `user` object for the account that owns the access token. Works with every token type; requires the `user:read` scope for OAuth tokens.","tags":["Users"],"security":[{"BearerAuth":["user:read"]}],"parameters":[{"schema":{"type":"string","enum":["2026-09-24.albus"],"description":"API version to render the response in. Defaults to your client pin, then the baseline."},"required":false,"description":"API version to render the response in. Defaults to your client pin, then the baseline.","name":"fav-version","in":"header"}],"responses":{"200":{"description":"The `user` object.","headers":{"Fav-Version":{"description":"The API version this response was rendered in.","schema":{"type":"string"}},"x-request-id":{"description":"Unique id of this request. Quote it in support requests.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"default":{"description":"Error. See the error object for `type` and `code`.","headers":{"Fav-Version":{"description":"The API version this response was rendered in.","schema":{"type":"string"}},"x-request-id":{"description":"Unique id of this request. Quote it in support requests.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"description":"Broad category. Branch on `code`, not on `message`."},"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Human-readable explanation. May change without notice."},"param":{"type":"string","description":"The request parameter the error relates to."},"request_id":{"type":"string","description":"Same value as the `x-request-id` response header."}},"required":["type","code","message","request_id"]}},"required":["error"]}}}}}}}},"webhooks":{}}