Systems

Systems are the top-level community entity in Local Universe — similar to Discord servers. Each system can contain text channels, planet channels, voice channels, roles, and members.

The system model

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the system.

  • Name
    name
    Type
    string
    Description

    The name of the system.

  • Name
    slug
    Type
    string
    Description

    URL-friendly slug for the system.

  • Name
    depth
    Type
    string?
    Description

    The depth value of the system.

  • Name
    flags
    Type
    integer
    Description

    System flags bitfield.

  • Name
    access
    Type
    integer
    Description

    Access level: 0 = INVITE_ONLY, 1 = APPLY, 2 = DISCOVERABLE.

  • Name
    icon
    Type
    string?
    Description

    URL to the system icon.

  • Name
    banner
    Type
    string?
    Description

    URL to the system banner.

  • Name
    description
    Type
    string?
    Description

    Description of the system.

  • Name
    scanner
    Type
    string?
    Description

    The scanner assigned to this system.

  • Name
    owner_id
    Type
    string?
    Description

    The user ID of the system owner.

  • Name
    member_count
    Type
    integer?
    Description

    Total number of members.

  • Name
    created_at
    Type
    timestamp
    Description

    When the system was created.

  • Name
    updated_at
    Type
    timestamp?
    Description

    When the system was last updated.

Access types

ValueNameDescription
0INVITE_ONLYOnly users with an invite can join
1APPLYUsers can apply to join
2DISCOVERABLESystem is publicly listed

GET/v1/systems

List user's systems

Returns all systems the authenticated user is a member of.

Request

GET
/v1/systems
curl https://api.localuniverse.io/v1/systems \
  -H "Authorization: Bearer {token}"

Response

[
  {
    "id": "1344387816333352652",
    "name": "Local Universe",
    "slug": "localuniverse",
    "flags": 0,
    "access": 2,
    "icon": "https://cdn.localuniverse.io/icons/lu.png",
    "description": "The official Local Universe system",
    "owner_id": "1344387816333399999",
    "member_count": 1024,
    "created_at": "2025-02-26T19:17:12.848375Z"
  }
]

POST/v1/systems

Create a system

Required attributes

  • Name
    name
    Type
    string
    Description

    The name of the system.

Optional attributes

  • Name
    description
    Type
    string
    Description

    A description for the system.

  • Name
    access
    Type
    integer
    Description

    Access level (0, 1, or 2). Defaults to 0 (INVITE_ONLY).

Request

POST
/v1/systems
curl -X POST https://api.localuniverse.io/v1/systems \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name": "My System", "description": "A new community", "access": 2}'

Response

{
  "id": "1344387816333352999",
  "name": "My System",
  "slug": "my-system",
  "flags": 0,
  "access": 2,
  "description": "A new community",
  "owner_id": "1344387816333399999",
  "member_count": 1,
  "created_at": "2025-02-26T19:17:12.848375Z"
}

GET/v1/systems/discoverable

List discoverable systems

Returns all systems with access = 2 (DISCOVERABLE).

Request

GET
/v1/systems/discoverable
curl https://api.localuniverse.io/v1/systems/discoverable \
  -H "Authorization: Bearer {token}"

GET/v1/systems/:systemId

Get a system

Retrieve a single system by its ID.

Request

GET
/v1/systems/1344387816333352652
curl https://api.localuniverse.io/v1/systems/1344387816333352652 \
  -H "Authorization: Bearer {token}"

PATCH/v1/systems/:systemId

Update a system

Optional attributes

  • Name
    name
    Type
    string
    Description

    The new name of the system.

  • Name
    description
    Type
    string
    Description

    Updated description.

  • Name
    icon
    Type
    string
    Description

    New icon URL.

  • Name
    banner
    Type
    string
    Description

    New banner URL.

  • Name
    access
    Type
    integer
    Description

    New access level.

Request

PATCH
/v1/systems/1344387816333352652
curl -X PATCH https://api.localuniverse.io/v1/systems/1344387816333352652 \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name": "Updated Name"}'

DELETE/v1/systems/:systemId

Delete a system

Permanently deletes a system. You must be the system owner.

Request

DELETE
/v1/systems/1344387816333352652
curl -X DELETE https://api.localuniverse.io/v1/systems/1344387816333352652 \
  -H "Authorization: Bearer {token}"

GET/v1/systems/:systemId/channels

List system channels

Returns all channels belonging to a system.

Request

GET
/v1/systems/1344387816333352652/channels
curl https://api.localuniverse.io/v1/systems/1344387816333352652/channels \
  -H "Authorization: Bearer {token}"

POST/v1/systems/:systemId/channels

Create a system channel

Required attributes

  • Name
    name
    Type
    string
    Description

    Channel name.

  • Name
    type
    Type
    integer
    Description

    Channel type: 0 (SYSTEM_TEXT), 3 (SYSTEM_PLANET), or 4 (SYSTEM_VOICE).

Request

POST
/v1/systems/1344387816333352652/channels
curl -X POST https://api.localuniverse.io/v1/systems/1344387816333352652/channels \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name": "general", "type": 0}'

GET/v1/systems/:systemId/excavations

Get system excavations

Returns excavation data for a system's planets.

Request

GET
/v1/systems/1344387816333352652/excavations
curl https://api.localuniverse.io/v1/systems/1344387816333352652/excavations \
  -H "Authorization: Bearer {token}"

POST/v1/systems/:systemId/voicechats

Create a voice chat

Creates a temporary voice chat session in the system.

Request

POST
/v1/systems/1344387816333352652/voicechats
curl -X POST https://api.localuniverse.io/v1/systems/1344387816333352652/voicechats \
  -H "Authorization: Bearer {token}"

GET/v1/systems/:systemId/invites

List system invites

Returns all active invites for a system. See also Invites.

Request

GET
/v1/systems/1344387816333352652/invites
curl https://api.localuniverse.io/v1/systems/1344387816333352652/invites \
  -H "Authorization: Bearer {token}"

POST/v1/systems/:systemId/invites

Create a system invite

Optional attributes

  • Name
    max_uses
    Type
    integer
    Description

    Maximum number of uses. 0 = unlimited.

  • Name
    max_age
    Type
    integer
    Description

    Duration in seconds before the invite expires. 0 = never.

  • Name
    temporary
    Type
    boolean
    Description

    Whether the invite grants temporary membership.

Request

POST
/v1/systems/1344387816333352652/invites
curl -X POST https://api.localuniverse.io/v1/systems/1344387816333352652/invites \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"max_uses": 10, "max_age": 86400}'

Was this page helpful?