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

# GET /api/instance/profile

`GET /api/instance/profile`

## Request

- The document declares no server URL.
- Auth: none declared

GetInstanceProfile gets the instance profile. Available without authentication, including on a private instance.

## Response `200`

OK

- InstanceProfile: InstanceProfile is the basic information about the instance.
  - `version` string: The version of the running server.
  - `commit` string: The build commit of the running server.
  - `demo` boolean: Whether the instance runs in demo mode.
  - `instanceUrl` string: The configured URL of the instance.
  - `accessMode` 'INSTANCE_ACCESS_MODE_UNSPECIFIED' | 'INSTANCE_ACCESS_MODE_PRIVATE' | 'INSTANCE_ACCESS_MODE_PUBLIC', enum: Whether unauthenticated users may access instance content.
  - `needsSetup` boolean: Whether 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.
  - `admin` User: User is an account on the instance.
    - `name` string: Identifier. The resource name of the user. {user} is the username. Format: users/{user}
    - `username` string, required: Required. The unique username, used to sign in.
    - `displayName` string: Optional. The display name of the user.
    - `email` string: Optional. The email address of the user. Stored trimmed and lowercased; empty means no address. An address belongs to at most one user on the instance, so writes that would reuse one fail with ALREADY_EXISTS. Returned only to the user and to admins.
    - `avatarUrl` string: Optional. The avatar URL of the user. An avatar set as a data URI (PNG, JPEG, GIF or WebP, at most 2 MiB) is returned as a file server URL.
    - `description` string: Optional. The description of the user.
    - `password` string: Input only. The password of the user. Never returned.
    - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum, required: Required. The role of the user. Only admins can change it.
    - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required: Required. The state of the user. Only admins can change it.
    - `createTime` string, date-time: Output only. The creation timestamp.
    - `updateTime` string, date-time: Output only. The last update timestamp.
  - `challenge` InstanceProfileChallenge: Challenge describes a proof-of-humanity challenge widget.
    - `provider` string: The challenge provider, which selects the widget the web app renders.
    - `siteKey` string: The provider's public site key for the widget.

## Other responses

- `default`: Default error response

## Changes

- **2026-10-08** `1846a777b0ef`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/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.dev/usememos/apis/untitled-api/revisions/f587355e35b4?raw)
