Content Server

API endpoints for Decentraland Worlds Content Server

/world/{world_name}/about

get
/world/{world_name}/about

Returns detailed information about a deployed world including scene configuration, comms adapter, and status

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world (e.g., my-name.dcl.eth)

Example: my-name.dcl.eth
Responses
200

World information retrieved successfully

application/json

Detailed information about a world

healthybooleanOptional

Overall health status

acceptingUsersbooleanOptional

Whether the world is accepting new users

get
/world/{world_name}/about

GET /world/{world_name}/scenes

get
/world/{world_name}/scenes

Browse scenes in a world. Use query params for filtering and pagination.

  • Query (x1, x2, y1, y2): Bounding box. When provided, all four must be set.

  • Query (limit, offset): Pagination (defaults: limit 100, offset 0).

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
Query parameters
x1integerOptional

Bounding box min x (required with x2, y1, y2)

x2integerOptional

Bounding box max x (required with x1, y1, y2)

y1integerOptional

Bounding box min y (required with x1, x2, y2)

y2integerOptional

Bounding box max y (required with x1, x2, y1)

limitintegerOptional

Max number of scenes to return (default 100)

offsetintegerOptional

Number of scenes to skip (default 0)

authorized_deployerstringOptional

Ethereum address to filter scenes by deployment capabilities. Returns scenes from worlds where the specified address is either the owner or has been granted deployment permission.

Responses
200

Scenes and total count

application/json
totalintegerOptional
get
/world/{world_name}/scenes

POST /world/{world_name}/scenes

post
/world/{world_name}/scenes

Query scenes with optional coordinate filter in the body. Body is validated; same query params as GET.

  • Body (coordinates): Required key; array can be empty. When non-empty, return only scenes that contain any of these parcel coordinates (e.g. "0,0", "-1,2").

  • Query (x1, x2, y1, y2): Bounding box. When provided, all four must be set.

  • Query (limit, offset): Pagination (defaults: limit 100, offset 0).

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
Query parameters
x1integerOptional

Bounding box min x (required with x2, y1, y2)

x2integerOptional

Bounding box max x (required with x1, y1, y2)

y1integerOptional

Bounding box min y (required with x1, x2, y2)

y2integerOptional

Bounding box max y (required with x1, x2, y1)

limitintegerOptional

Max number of scenes to return (default 100)

offsetintegerOptional

Number of scenes to skip (default 0)

authorized_deployerstringOptional

Ethereum address to filter scenes by deployment capabilities. Returns scenes from worlds where the specified address is either the owner or has been granted deployment permission.

Body

Body for POST /world/{world_name}/scenes.

coordinatesstring[]Required

Return only scenes that contain any of these coordinates

Responses
200

Scenes and total count

application/json
totalintegerOptional
post
/world/{world_name}/scenes

DELETE /world/{world_name}/scenes/{coordinate}

delete
/world/{world_name}/scenes/{coordinate}

Undeploy a single scene at the given parcel coordinate. Requires signed fetch and world ownership (or world-wide deployment permission).

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
coordinatestringRequired

Parcel coordinate (e.g. 0,0 or -1,2)

Pattern: ^-?\d+,-?\d+$
Responses
200

Scene undeployed successfully

No content

delete
/world/{world_name}/scenes/{coordinate}

No content

/entities

post
/entities

Deploy a new scene to a world. The deployment must include entity metadata and all content files. Requires authentication via auth chain.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Body
entityIdstringRequired

The entity ID (IPFS hash)

Example: bafkreiabi74jam7uh5gmm6x4hox664j53bmt7dy4alrltkhyj3ozcxs2iu
Other propertiesstring · binaryOptional

Content files referenced by the entity

Responses
200

Entity deployed successfully

application/json
creationTimestampnumberOptional

Unix timestamp in milliseconds

messagestringOptional

Deployment confirmation message

post
/entities

/entities/{world_name}

delete
/entities/{world_name}

Remove a deployed scene from a world. Requires signed fetch authentication.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world to undeploy

Example: my-name.dcl.eth
Responses
200

Entity undeployed successfully

No content

delete
/entities/{world_name}

No content

/entities/active

post
/entities/active

Retrieve information about active entities based on provided pointers

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Body
pointersstring[]Optional

List of pointers to query

Responses
200

Active entities retrieved successfully

application/json

Scene entity metadata

idstringOptional

Entity ID (IPFS hash)

typestringOptional

Entity type (e.g., 'scene')

timestampnumberOptional

Unix timestamp in milliseconds

pointersstring[]Optional

Pointers (coordinates or names)

metadataobjectOptional

Scene metadata

post
/entities/active
200

Active entities retrieved successfully

/available-content

get
/available-content

Retrieve list of available content hashes

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Responses
200

Available content retrieved successfully

application/json
cidstring[]Optional
get
/available-content
200

Available content retrieved successfully

/ipfs/{hashId}

get
/ipfs/{hashId}

Retrieve a content file by its IPFS hash

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
hashIdstringRequired

IPFS hash of the content file

Example: bafkreiabi74jam7uh5gmm6x4hox664j53bmt7dy4alrltkhyj3ozcxs2iu
Responses
200

Content file retrieved successfully

application/octet-stream
string · binaryOptional
get
/ipfs/{hashId}

/ipfs/{hashId}

head
/ipfs/{hashId}

Check if a content file exists without retrieving it

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
hashIdstringRequired

IPFS hash of the content file

Responses
200

Content exists

No content

head
/ipfs/{hashId}

No content

/contents/{hashId}

get
/contents/{hashId}

Retrieve a content file by its hash

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
hashIdstringRequired

Hash of the content file

Example: bafkreiabi74jam7uh5gmm6x4hox664j53bmt7dy4alrltkhyj3ozcxs2iu
Responses
200

Content file retrieved successfully

application/octet-stream
string · binaryOptional
get
/contents/{hashId}

/contents/{hashId}

head
/contents/{hashId}

Check if a content file exists without retrieving it

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
hashIdstringRequired

Hash of the content file

Responses
200

Content exists

No content

head
/contents/{hashId}

No content

/world/{world_name}/permissions

get
/world/{world_name}/permissions

Retrieve the permissions configuration for a world

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
Responses
200

Permissions retrieved successfully

application/json
ownerstringOptional

Ethereum address of the world owner

Example: 0x1234567890123456789012345678901234567890
get
/world/{world_name}/permissions
200

Permissions retrieved successfully

/world/{world_name}/permissions/{permission_name}

post
/world/{world_name}/permissions/{permission_name}

Set the permission type for a specific permission (deployment, access, or streaming). Requires signed fetch and world ownership.

Auth chain metadata (not HTTP body): The permission configuration is not sent as a POST body. It is sent as signed request metadata (auth chain) per Signed Fetch (ADR-44). The client signs a payload whose structure matches the schema below; the server reads that payload from the auth chain, not from the request body. Do not send a body for this request—use the schema only as the expected format of the auth chain metadata.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
permission_namestring · enumRequired

The permission to configure

Possible values:
Body
or
or
or
Responses
post
/world/{world_name}/permissions/{permission_name}

No content

Add community to access allow-list

put
/world/{world_name}/permissions/access/communities/{communityId}

Add a single community to the world's access allow-list. The world must have allow-list access type. The signer must be a member of the community being added (validated via social service).

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
communityIdstringRequired

Community ID to add to the allow-list

Responses
put
/world/{world_name}/permissions/access/communities/{communityId}

No content

Remove community from access allow-list

delete
/world/{world_name}/permissions/access/communities/{communityId}

Remove a single community from the world's access allow-list. The world must have allow-list access type.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
communityIdstringRequired

Community ID to remove from the allow-list

Responses
delete
/world/{world_name}/permissions/access/communities/{communityId}

No content

/world/{world_name}/permissions/{permission_name}/{address}

put
/world/{world_name}/permissions/{permission_name}/{address}

Add an Ethereum address to the allow list for a specific permission. Requires signed fetch and world ownership.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
permission_namestring · enumRequired

The permission to modify

Possible values:
addressstringRequired

Ethereum address to add

Example: 0x1234567890123456789012345678901234567890
Responses
put
/world/{world_name}/permissions/{permission_name}/{address}

No content

/world/{world_name}/permissions/{permission_name}/{address}

delete
/world/{world_name}/permissions/{permission_name}/{address}

Remove an Ethereum address from the allow list for a specific permission. Requires signed fetch and world ownership.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
permission_namestring · enumRequired

The permission to modify

Possible values:
addressstringRequired

Ethereum address to remove

Example: 0x1234567890123456789012345678901234567890
Responses
delete
/world/{world_name}/permissions/{permission_name}/{address}

No content

GET /world/{world_name}/permissions/{permission_name}/address/{address}/parcels

get
/world/{world_name}/permissions/{permission_name}/address/{address}/parcels

Get paginated parcels for a specific address and permission (deployment or streaming). Use query params limit/offset for pagination. Optional bounding box filter via x1, y1, x2, y2 (all four required if used).

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequiredExample: my-name.dcl.eth
permission_namestring · enumRequiredPossible values:
addressstringRequiredExample: 0x1234567890123456789012345678901234567890
Query parameters
limitintegerOptional
offsetintegerOptional
x1integerOptional

Bounding box min x (required with x2, y1, y2)

y1integerOptional
x2integerOptional
y2integerOptional
Responses
200

Parcels and total count

application/json
totalintegerOptional
parcelsstring[]Optional
get
/world/{world_name}/permissions/{permission_name}/address/{address}/parcels

POST /world/{world_name}/permissions/{permission_name}/address/{address}/parcels

post
/world/{world_name}/permissions/{permission_name}/address/{address}/parcels

Add parcels to an existing permission for an address (deployment or streaming). Requires signed fetch and world ownership. Request body is JSON with parcels array.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequiredExample: my-name.dcl.eth
permission_namestring · enumRequiredPossible values:
addressstringRequiredExample: 0x1234567890123456789012345678901234567890
Body

Request body for adding or removing parcels to/from a permission (POST/DELETE address parcels).

parcelsstring[] · min: 1 · max: 500Required

Parcel coordinate (e.g. "0,0", "-1,2")

Responses
post
/world/{world_name}/permissions/{permission_name}/address/{address}/parcels

No content

DELETE /world/{world_name}/permissions/{permission_name}/address/{address}/parcels

delete
/world/{world_name}/permissions/{permission_name}/address/{address}/parcels

Remove parcels from an existing permission for an address. Requires signed fetch and world ownership. Request body is JSON with parcels array.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequiredExample: my-name.dcl.eth
permission_namestring · enumRequiredPossible values:
addressstringRequiredExample: 0x1234567890123456789012345678901234567890
Body

Request body for adding or removing parcels to/from a permission (POST/DELETE address parcels).

parcelsstring[] · min: 1 · max: 500Required

Parcel coordinate (e.g. "0,0", "-1,2")

Responses
delete
/world/{world_name}/permissions/{permission_name}/address/{address}/parcels

No content

/world/{world_name}/settings

get
/world/{world_name}/settings

Retrieve the settings configuration for a world, including spawn coordinates

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
Responses
200

World settings retrieved successfully

application/json

World settings configuration that defines how the world behaves and appears in Places

titlestring · nullableOptional

The title of the world displayed in Places

Example: My Awesome World
descriptionstring · nullableOptional

A description of the world displayed in Places

Example: A beautiful world with amazing experiences
contentRatingstring · nullableOptional

Content rating for the world

Example: T
spawnCoordinatesstring · nullableOptional

The parcel coordinate where players will spawn. Must be within the world shape rectangle (the bounding box covering all deployed scene parcels). Does not need to be on a specific scene parcel, just anywhere within the rectangle. Supports both positive and negative coordinates (e.g., "10,20" or "-5,-10").

Example: 10,20Pattern: ^-?\d+,-?\d+$
skyboxTimenumber · nullableOptional

Fixed skybox time (0-24 hours). Null to use dynamic day/night cycle.

Example: 12.5
categoriesstring[] · nullableOptional

Categories/tags for the world

Example: ["game","adventure"]
singlePlayerboolean · nullableOptional

Whether the world is single player only

Example: false
showInPlacesboolean · nullableOptional

Whether the world should be shown in Places

Example: true
thumbnailUrlstring · nullableOptional

URL of the world thumbnail image

Example: https://worlds-content-server.decentraland.org/contents/world-thumbnails/my-world.dcl.eth/abc123
get
/world/{world_name}/settings

/world/{world_name}/settings

put
/world/{world_name}/settings

Update world settings via multipart/form-data. Requires signed fetch and world ownership. All fields are optional to allow partial updates.

Settings include title, description, content rating, spawn coordinates, skybox time, categories, single player mode, show in places, and a thumbnail image.

For spawn coordinates, they must be within the world shape rectangle if the world has deployed scenes. Worlds without deployments can have most settings pre-defined (except spawn coordinates).

Clearing nullable fields:

  • Send skybox_time with the string value "null" to reset skybox time (use dynamic day/night cycle).

  • Send categories with the string value "null" to clear all categories (stores an empty array).

Validation:

  • title must be between 3 and 100 characters. Empty strings are rejected with a 400 error.

  • description must be between 3 and 1000 characters. Empty strings are rejected with a 400 error.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
world_namestringRequired

The name of the world

Example: my-name.dcl.eth
Body
titlestring · min: 3 · max: 100Optional

World title. Must be between 3 and 100 characters. Empty strings are rejected.

descriptionstring · min: 3 · max: 1000Optional

World description. Must be between 3 and 1000 characters. Empty strings are rejected.

content_ratingstringOptional

Content rating

spawn_coordinatesstringOptional

Spawn coordinates (e.g., "10,20")

Pattern: ^-?\d+,-?\d+$
skybox_timestringOptional

Fixed skybox time as a number string, or the string "null" to reset to dynamic day/night cycle

categoriesstringOptional

Category values as repeated multipart fields, or the string "null" to clear all categories (stores an empty array)

single_playerstringOptional

Single player mode ("true" or "false")

show_in_placesstringOptional

Show in places ("true" or "false")

thumbnailstring · binaryOptional

Thumbnail image file (max 1MB)

Responses
200

World settings updated successfully

application/json
messagestringOptionalExample: World settings updated successfully
put
/world/{world_name}/settings

GET /worlds

get
/worlds

Retrieve a paginated list of worlds with optional search, sorting, and authorized deployer filtering.

This endpoint supports:

  • Pagination: Use limit and offset query parameters

  • Search: Full-text search across world name, title, and description

  • Sorting: Sort by world name or last deployment time

  • Authorized deployer filtering: Filter by worlds where an address can deploy (is owner or has deployment permission)

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Query parameters
limitintegerOptional

Maximum number of worlds to return (default 100)

Default: 100
offsetintegerOptional

Number of worlds to skip (default 0)

Default: 0
searchstringOptional

Full-text search query. Searches across world name (highest priority), title (medium priority), and description (lowest priority).

sortstring · enumOptional

Field to sort by (default "name")

Default: namePossible values:
orderstring · enumOptional

Sort direction (default "asc")

Default: ascPossible values:
authorized_deployerstringOptional

Ethereum address to filter worlds by deployment capabilities. Returns worlds where the specified address is either the owner or has been granted deployment permission.

has_deployed_scenesbooleanOptional

Filter worlds by whether they have deployed scenes. When true, returns only worlds with at least one deployed scene. When false, returns only worlds with no deployed scenes. When not provided, returns all worlds regardless of deployment status.

Responses
200

Paginated list of worlds

application/json

Paginated response containing worlds information

totalintegerRequired

Total number of worlds matching the query (for pagination)

get
/worlds

/wallet/{wallet}/stats

get
/wallet/{wallet}/stats

Retrieve storage statistics for a wallet address

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
walletstringRequired

Ethereum wallet address

Example: 0x1234567890123456789012345678901234567890
Responses
200

Wallet statistics retrieved successfully

application/json

Storage statistics for a wallet

walletstringOptional

Ethereum address

usedSpacestringOptional

Total used space in bytes as string

maxAllowedSpacestringOptional

Maximum allowed space in bytes as string

blockedSincestring · date-time · nullableOptional

ISO timestamp when wallet was blocked

get
/wallet/{wallet}/stats

/wallet/{wallet}/connected-world

get
/wallet/{wallet}/connected-world

Retrieve the world that a wallet is currently connected to

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
walletstringRequired

Ethereum wallet address

Example: 0x1234567890123456789012345678901234567890
Responses
200

Connected world retrieved successfully

application/json
worldstring · nullableOptional

Name of the connected world

get
/wallet/{wallet}/connected-world
200

Connected world retrieved successfully

/wallet/contribute

get
/wallet/contribute

Retrieve list of domains that the authenticated wallet can contribute to. Requires signed fetch.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Responses
200

Contributable domains retrieved successfully

application/json
countintegerOptional
get
/wallet/contribute

/status

get
/status

Retrieve the current status of the content server and communication services

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Responses
200

Server status retrieved successfully

application/json

Server status information

get
/status
200

Server status retrieved successfully

Deprecated

/index

get
/index

Retrieve an index of all deployed worlds (deprecated; prefer /worlds for listing).

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Responses
200

Index retrieved successfully

application/json
lastUpdatedstring · date-timeOptional

ISO 8601 timestamp of last index update

get
/index
200

Index retrieved successfully

/live-data

get
/live-data

Retrieve live data about active worlds and users (from comms adapter status).

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Responses
200

Live data retrieved successfully

application/json
lastUpdatedstring · date-timeOptional

ISO 8601 timestamp of status snapshot

get
/live-data
200

Live data retrieved successfully

POST /worlds/{worldName}/comms

post
/worlds/{worldName}/comms

Get comms adapter connection string for a world. Requires signed fetch. Auth metadata may include optional secret for access. Returns fixedAdapter.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
worldNamestringRequired

World name (e.g. my-name.dcl.eth)

Responses
200

Comms adapter retrieved successfully

application/json
fixedAdapterstringOptional
post
/worlds/{worldName}/comms

POST /worlds/{worldName}/scenes/{sceneId}/comms

post
/worlds/{worldName}/scenes/{sceneId}/comms

Get comms adapter connection string for a specific scene in a world. Requires signed fetch. Auth metadata may include optional secret for access. Returns fixedAdapter.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
worldNamestringRequired
sceneIdstringRequired

Scene entity ID

Responses
200

Comms adapter retrieved successfully

application/json
fixedAdapterstringOptional
post
/worlds/{worldName}/scenes/{sceneId}/comms

/get-comms-adapter/{roomId}

post
/get-comms-adapter/{roomId}

Retrieve communication adapter connection string for a room. Requires signed fetch (auth metadata may include secret for access). Returns fixedAdapter.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
roomIdstringRequired

Room identifier (prefix + world name)

Responses
200

Adapter information retrieved successfully

application/json
fixedAdapterstringOptional

Connection string for the comms adapter

post
/get-comms-adapter/{roomId}

/cast-adapter/{roomId}

post
/cast-adapter/{roomId}

Retrieve LiveKit cast adapter URL and JWT token for a room. Requires signed fetch.

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Path parameters
roomIdstringRequired

Room identifier (prefix + world name)

Responses
200

Cast adapter information retrieved successfully

application/json
urlstringOptional

LiveKit WebSocket URL (e.g. wss://host)

tokenstringOptional

JWT token for joining the room

post
/cast-adapter/{roomId}

/livekit-webhook

post
/livekit-webhook

Webhook endpoint for LiveKit events

Authorizations
X-Identity-Auth-Chain-*stringRequired

Signed fetch authentication using Decentraland's ADR-44 specification. Multiple headers are used to provide the authentication chain.

Body
objectOptional

LiveKit webhook payload

Responses
200

Webhook processed successfully

No content

post
/livekit-webhook
200

Webhook processed successfully

No content

Last updated