---
title: "GET /api/v1/instance/profile"
method: GET
path: "/api/v1/instance/profile"
tags: ["InstanceService"]
---

# GET /api/v1/instance/profile

`GET /api/v1/instance/profile`

Gets the instance profile.

## Response `200`

OK

- InstanceProfile — Instance profile message containing basic instance information.
  - `version` string — Version is the current version of instance.
  - `demo` boolean — Demo indicates if the instance is in demo mode.
  - `instanceUrl` string — Instance URL is the URL of the instance.
  - `admin` User
    - `name` string — The resource name of the user. Format: users/{user}
    - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum, required — The role of the user.
    - `username` string, required — Required. The unique username for login.
    - `email` string — Optional. The email address of the user.
    - `displayName` string — Optional. The display name of the user.
    - `avatarUrl` string — Optional. The avatar URL of the user.
    - `description` string — Optional. The description of the user.
    - `password` string — Input only. The password for the user.
    - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required — The state of the user.
    - `createTime` string, date-time — Output only. The creation timestamp.
    - `updateTime` string, date-time — Output only. The last update timestamp.
  - `commit` string — Commit is the current build commit of instance.
  - `needsSetup` boolean — NeedsSetup is true when the instance has no users yet and requires initial setup (creating the first admin account). Unlike a null admin, this stays false once any user exists, so an instance that has lost its admins is not mistaken for a fresh install.
  - `accessMode` 'INSTANCE_ACCESS_MODE_UNSPECIFIED' | 'INSTANCE_ACCESS_MODE_PRIVATE' | 'INSTANCE_ACCESS_MODE_PUBLIC', enum — Access mode controls whether unauthenticated users may access instance content.

## Other responses

- `default` — Default error response

## Changes

- **2026-08-22** `ebc1e11315b7` — 1 info
  - added the optional property `accessMode` to the response with the `200` status
- **2026-06-21** `de9c42ea9bdb` — 1 info
  - added the optional property `needsSetup` to the response with the `200` status
- **2026-04-27** `431f31f005af` — 1 info
  - added the optional property `commit` to the response with the `200` status
- **2026-01-28** `50d08e62ba83` — 1 warning, 1 info
  - removed the optional property `initialized` from the response with the `200` status
  - added the optional property `admin` to the response with the `200` status
- **2026-01-22** `a47f16a486d2` — 1 warning, 1 info
  - removed the optional property `owner` from the response with the `200` status
  - added the optional property `initialized` to the response with the `200` status

[Full history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/v1/instance/profile/get.md)

---

[API](https://skmtc.dev/usememos/apis/untitled-api.md) · [All operations](https://skmtc.dev/usememos/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usememos/untitled-api/revisions/9f2688df7c2e/schema)
