# Get instance information

Returns comprehensive server instance metadata including domain, version, build information, registration configuration, and server rules. Useful for clients to understand server capabilities and requirements.

Endpoint: GET /api/v1/instance
Version: 1.0
Security: 

## Response 200 fields (application/json):

  - `uri` (string, required)
    URI of this instance
    Example: "https://wellesley.social"

  - `title` (string)

  - `short_description` (string)

  - `description` (string)

  - `email` (string)

  - `version` (string, required)
    Version of the platform
    Example: "1.0"

  - `build` (string, required)
    Build # of the platform
    Example: "777"

  - `buildTimestamp` (integer, required)
    Build timestamp
    Example: 681486960000

  - `urls` (object)

  - `stats` (object)

  - `stats.user_count` (integer,null)
    Total number of local users on this day

  - `stats.active30_user_count` (integer,null, required)
    Total number of active local users in the last 30 days on this day

  - `stats.active180_user_count` (integer,null, required)
    Total number of active local users in the last 180 days on this day

  - `stats.group_count` (integer,null)
    Total number of local groups on this day

  - `stats.post_count` (integer,null)
    Local top-level posts created this day

  - `stats.post_count_total` (integer,null)
    Cumulative local top-level posts up to this day

  - `stats.comment_count` (integer,null)
    Comments by local users created this day

  - `stats.remote_comment_count` (integer,null)
    Comments by remote users created this day

  - `stats.comment_count_total` (integer,null)
    Cumulative comments by local users up to this day

  - `stats.remote_comment_count_total` (integer,null)
    Cumulative comments by remote users up to this day

  - `stats.domain_count` (integer,null)
    Total number of external domains on this day

  - `thumbnail` (string)

  - `languages` (array)

  - `configuration` (object, required)
    This instance configuration

  - `configuration.registrations` (object, required)
    Registration configuration

  - `configuration.registrations.ask_for_info` (boolean, required)
    Whether reason to join should be provided when signing up

  - `configuration.registrations.captcha` (boolean, required)
    Whether captcha is shown to new users when signing up

  - `configuration.registrations.invites` (boolean, required)
    Whether existing users can invite other users to join

  - `configuration.registrations.message` (string, required)
    Message shown to guests when registration is closed

  - `configuration.registrations.mode` (string, required)
    Registration mode on this instance
    Enum: "OPEN", "APPROVAL", "EMAIL_DOMAIN_ALLOWLIST", "CLOSED"

  - `configuration.passwordPolicy` (string, required)
    Password policy configuration
    Enum: "ANY", "STRICT"

  - `configuration.access` (object, required)
    Access configuration

  - `configuration.access.visibility` (string, required)
    Whether the server is visible to the public
    Enum: "PUBLIC", "PRIVATE"

  - `configuration.branding` (object, required)
    Branding configuration

  - `configuration.branding.color` (string, required)
    Color theme of the homepage in HEX format

  - `configuration.branding.description` (string, required)
    Server description shown on the homepage

  - `configuration.branding.displayName` (string, required)
    Display name shown on the homepage

  - `configuration.branding.image` (string, required)
    Image URL shown on the homepage

  - `configuration.branding.imageThumbnail` (string, required)
    Thumbnail of the image URL shown on the homepage

  - `configuration.branding.shortDescription` (string, required)
    Short description shown on the homepage

  - `configuration.domainBlocksPolicy` (object, required)
    Domain blocks policy configuration

  - `configuration.domainBlocksPolicy.domainBlocksAccess` (string, required)
    Who can see domains that are blocked by this instance
    Enum: "NONE", "USER", "ALL"

  - `configuration.domainBlocksPolicy.domainBlocksReasonAccess` (string, required)
    Who can see reasons for domain blocks by this instance
    Enum: "NONE", "USER", "ALL"

  - `configuration.contacts` (object, required)
    Instance contacts configuration

  - `configuration.contacts.email` (string, required)
    Contact email for the server

  - `configuration.contacts.username` (string, required)
    Contact username for the server

  - `contact_account` (object,null)
    One of account's users.
       Can be multiple per account

  - `contact_account.id` (string, required)
    internal id of this user
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.username` (string, required)
    unique user name
    Example: "john_smith"

  - `contact_account.domain` (string, required)
    User's domain
    Example: "wlsly1.net"

  - `contact_account.local` (boolean, required)
    Whether this user is local to this server

  - `contact_account.displayName` (string, required)
    full name of the user
    Example: "John Smith"

  - `contact_account.uri` (string, required)
    URI of this user
    Example: "https://wlsly1.net/users/john_smith"

  - `contact_account.avatar` (object,null)
    User's avatar

  - `contact_account.avatar.uploadId` (string, required)
    Internal id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.avatar.uploaderId` (string,null)
    User who physically uploaded this file. Null for platform-owned uploads (e.g., default covers). This is an audit/meta field — use ownerId for authorization.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.avatar.ownerId` (string, required)
    Entity that owns this upload (user, channel/group, or event). TypeID prefix indicates the owner type.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.avatar.attachedToId` (string,null)
    Entity this upload is attached to (e.g., a post or event). NULL for standalone uploads like avatars, covers, or media library items.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.avatar.uploadType` (string, required)
    Type of the upload
    Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER"

  - `contact_account.avatar.meta` (object)
    Meta data

  - `contact_account.avatar.meta.blurhash` (string,null)

  - `contact_account.avatar.meta.name` (string,null)

  - `contact_account.avatar.meta.altText` (string,null)

  - `contact_account.avatar.size` (integer, required)
    Size in bytes of all the files in this upload

  - `contact_account.avatar.files` (array, required)
    List of all the files this upload has

  - `contact_account.avatar.files.uri` (string,null, required)
    Full url of the file

  - `contact_account.avatar.files.fileId` (string, required)
    File id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.avatar.files.extension` (string, required)
    File extension
    Example: "mp4"

  - `contact_account.avatar.files.original` (boolean, required)
    true if this file is original, false if it is a derivative

  - `contact_account.avatar.files.meta` (object, required)
    File metadata. Contains optional values for width, height etc.

  - `contact_account.avatar.files.meta.duration` (number,null)
    Video duration in seconds

  - `contact_account.avatar.files.meta.width` (integer,null)
    Media width

  - `contact_account.avatar.files.meta.height` (integer,null)
    Media height

  - `contact_account.avatar.files.meta.codec` (string,null)
    Video codec

  - `contact_account.avatar.files.meta.rotate` (integer,null)
    Rotation in degrees

  - `contact_account.avatar.files.size` (integer, required)
    File size in bytes

  - `contact_account.avatar.files.createdAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.avatar.files.updatedAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.avatar.files.type` (string, required)
    File type
    Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER"

  - `contact_account.avatar.tags` (array, required)
    List of tags attached to upload
    Enum: "Post", "Avatar", "Header", "Album", "Emoji", "Event"

  - `contact_account.avatar.error` (string,null)
    Upload processing error

  - `contact_account.avatar.cached` (boolean)
    true if cached

  - `contact_account.avatar.logs` (string,null)
    Logs

  - `contact_account.avatar.remote` (boolean)
    true if this upload is remote

  - `contact_account.avatar.createdAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.avatar.updatedAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.createdAt` (string, required)
    User's creation time
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.state` (string, required)
    User's moderation state
    Enum: "REGULAR", "SENSITIVE", "LIMITED", "SUSPENDED"

  - `contact_account.relationship` (object,null)
    Relationship with this user

  - `contact_account.relationship.following` (string,null)
    Does the viewer follow the target?
    Enum: "PENDING", "ACCEPTED", "REJECTED"

  - `contact_account.relationship.followed` (string,null)
    Does the target follow the viewer?
    Enum: "PENDING", "ACCEPTED", "REJECTED"

  - `contact_account.relationship.blocked` (boolean,null)
    Viewer blocked the target

  - `contact_account.relationship.blockedBy` (boolean,null)
    Target blocked the viewer

  - `contact_account.relationship.muted` (object,null)
    Viewer mutes the target

  - `contact_account.relationship.muted.state` (boolean, required)

  - `contact_account.relationship.muted.expiresAt` (string,null)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.relationship.note` (string,null)
    Viewer's private note about the target

  - `contact_account.entityType` (string)
    Entity type: USER, BOT, APPLICATION, GROUP_CHANNEL
    Enum: "USER", "BOT", "APPLICATION", "GROUP_CHANNEL"

  - `contact_account.appMeta` (object)
    Structured metadata (channel flags, channel color, etc.)

  - `contact_account.groupId` (string,null)
    Group ID if this is a group channel or group user.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.groupPrivacy` (string,null)
    Privacy of this channel in a group.
    Enum: "PUBLIC", "PRIVATE"

  - `contact_account.groupUserName` (string,null)
    Name of the channel inside a group

  - `contact_account.actorType` (string,null)
    Whether this user is a person, application or a service
    Enum: "Application", "Group", "Organization", "Person", "Service"

  - `contact_account.deleted` (boolean,null)

  - `contact_account.groupAvatar` (object,null)
    Group avatar (only present for group channels)

  - `contact_account.groupAvatar.uploadId` (string, required)
    Internal id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.groupAvatar.uploaderId` (string,null)
    User who physically uploaded this file. Null for platform-owned uploads (e.g., default covers). This is an audit/meta field — use ownerId for authorization.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.groupAvatar.ownerId` (string, required)
    Entity that owns this upload (user, channel/group, or event). TypeID prefix indicates the owner type.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.groupAvatar.attachedToId` (string,null)
    Entity this upload is attached to (e.g., a post or event). NULL for standalone uploads like avatars, covers, or media library items.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.groupAvatar.uploadType` (string, required)
    Type of the upload
    Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER"

  - `contact_account.groupAvatar.meta` (object)
    Meta data

  - `contact_account.groupAvatar.meta.blurhash` (string,null)

  - `contact_account.groupAvatar.meta.name` (string,null)

  - `contact_account.groupAvatar.meta.altText` (string,null)

  - `contact_account.groupAvatar.size` (integer, required)
    Size in bytes of all the files in this upload

  - `contact_account.groupAvatar.files` (array, required)
    List of all the files this upload has

  - `contact_account.groupAvatar.files.uri` (string,null, required)
    Full url of the file

  - `contact_account.groupAvatar.files.fileId` (string, required)
    File id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `contact_account.groupAvatar.files.extension` (string, required)
    File extension
    Example: "mp4"

  - `contact_account.groupAvatar.files.original` (boolean, required)
    true if this file is original, false if it is a derivative

  - `contact_account.groupAvatar.files.meta` (object, required)
    File metadata. Contains optional values for width, height etc.

  - `contact_account.groupAvatar.files.meta.duration` (number,null)
    Video duration in seconds

  - `contact_account.groupAvatar.files.meta.width` (integer,null)
    Media width

  - `contact_account.groupAvatar.files.meta.height` (integer,null)
    Media height

  - `contact_account.groupAvatar.files.meta.codec` (string,null)
    Video codec

  - `contact_account.groupAvatar.files.meta.rotate` (integer,null)
    Rotation in degrees

  - `contact_account.groupAvatar.files.size` (integer, required)
    File size in bytes

  - `contact_account.groupAvatar.files.createdAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.groupAvatar.files.updatedAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.groupAvatar.files.type` (string, required)
    File type
    Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER"

  - `contact_account.groupAvatar.tags` (array, required)
    List of tags attached to upload
    Enum: "Post", "Avatar", "Header", "Album", "Emoji", "Event"

  - `contact_account.groupAvatar.error` (string,null)
    Upload processing error

  - `contact_account.groupAvatar.cached` (boolean)
    true if cached

  - `contact_account.groupAvatar.logs` (string,null)
    Logs

  - `contact_account.groupAvatar.remote` (boolean)
    true if this upload is remote

  - `contact_account.groupAvatar.createdAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.groupAvatar.updatedAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `contact_account.groupName` (string,null)
    Group name (only present for group channels)

  - `contact_account.groupDisplayName` (string,null)
    Group display name (only present for group channels)

  - `contact_account.followApproval` (string, required)
    Follow approval mode: AUTO_APPROVE, MANUALLY_APPROVES, or UNKNOWN
    Enum: "AUTO_APPROVE", "MANUALLY_APPROVES", "UNKNOWN"

  - `contact_account.groupPrimary` (boolean,null)
    true if this is primary group channel.

  - `contact_account.groupAutoSubscribe` (boolean,null)
    true if this is auto-subscribe group channel.

  - `contact_account.channel` (boolean, required)
    Whether this is a channel or a user. Deprecated: use 'entityType' instead.

  - `rules` (array, required)
    List of instance rules

  - `rules.text` (string, required)
    The rule text that defines expected behavior or policy (max 500 characters)
    Example: "Be respectful to all members"

  - `rules.hint` (string, required)
    Additional context or clarification for the rule (max 500 characters)
    Example: "This includes no harassment, personal attacks, or discriminatory language"

  - `rules.ordering` (integer, required)
    Display order position - rules with lower values appear first
    Example: 1000

  - `rules.id` (string, required)
    Unique identifier for the rule
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"


