Me (current user)
Endpoints under the Me tag apply to the caller’s identity derived from the API key or session — there is no X-Org selector on these routes. Response shapes follow MeApartmentsResponse and MeInvitationsResponse in the API reference.
For installation and credentials, see Authentication. For organization-scoped lists (devices, entities, …), see Organization context & pagination.
Operations vs wire routes
Section titled “Operations vs wire routes”| Concern | HTTP | operationId | Notes |
|---|---|---|---|
| Resident apartments | GET /me/apartments | get_me_apartments | Apartments the user is a resident of. |
| Claimed invitations | GET /me/invitations | get_me_invitations | Invitations the user has claimed. |
SDK coverage
Section titled “SDK coverage”| Capability | Python | Rust (openapp_sdk) | Go | TypeScript (AsyncClient) |
|---|---|---|---|---|
| Apartments | client.me.apartments() | client.me().apartments() | MeAPI.GetMeApartments | Not on façade yet |
| Invitations | client.me.invitations() | client.me().invitations() | MeAPI.GetMeInvitations | listInvitations (GET /me/invitations) |
Device push registration (Web Push, APNs, FCM) is done by the OpenApp apps, not the public API.
Typical errors
Section titled “Typical errors”401 when the key or session does not authenticate. Error bodies follow ApiErrorResponse — see Errors & retries.
Examples
Section titled “Examples”List claimed invitations
Section titled “List claimed invitations”rows = await client.me.invitations()resp, httpResp, err := client.MeAPI.GetMeInvitations(ctx).Execute()if err != nil { return err}defer httpResp.Body.Close()_ = respuse openapp_sdk::Client;
let client = Client::builder() .api_key("https://openapp.house_openapp_YOUR_SECRET") .build()?;
let rows = client.me().invitations().await?;import { AsyncClient } from "@tomers/openapp-sdk";
const client = new AsyncClient("https://openapp.house_openapp_YOUR_SECRET");const raw = await client.listInvitations();The Node façade exposes listInvitations only for this tag; use another SDK or extend the client for other /me/* routes.
Resident apartments
Section titled “Resident apartments”apartments = await client.me.apartments()resp, httpResp, err := client.MeAPI.GetMeApartments(ctx).Execute()if err != nil { return err}defer httpResp.Body.Close()_ = resplet apartments = client.me().apartments().await?;const apartments = await fetch( "https://openapp.house/api/v1/me/apartments", { headers: { "x-api-key": "https://openapp.house_openapp_YOUR_SECRET" } },).then((r) => r.json());The /me/* routes derive identity from the API key (or session) — no X-Org required. Replace with AsyncClient.getMeApartments once the Node façade exposes it.