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
chevron-right
200

World information retrieved successfully

application/json
get
/world/{world_name}/about

/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
chevron-right
200

Entity deployed successfully

application/json
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
chevron-right
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
chevron-right
200

Active entities retrieved successfully

application/json
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
chevron-right
200

Available content retrieved successfully

application/json
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
chevron-right
200

Content file retrieved successfully

application/octet-stream
Responsestring · binary
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
chevron-right
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
chevron-right
200

Content file retrieved successfully

application/octet-stream
Responsestring · binary
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
chevron-right
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
chevron-right
200

Permissions retrieved successfully

application/json
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.

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

/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

/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
chevron-right
200

Wallet statistics retrieved successfully

application/json
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
chevron-right
200

Connected world retrieved successfully

application/json
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
chevron-right
200

Contributable domains retrieved successfully

application/json
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
chevron-right
200

Server status retrieved successfully

application/json
get
/status
200

Server status retrieved successfully

/index

get
/index

Retrieve an index of all deployed worlds

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
chevron-right
200

Index retrieved successfully

application/json
get
/index
200

Index retrieved successfully

/live-data

get
/live-data

Retrieve live data about active worlds and users

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
chevron-right
200

Live data retrieved successfully

application/json
get
/live-data
200

Live data retrieved successfully

/get-comms-adapter/{roomId}

post
/get-comms-adapter/{roomId}

Retrieve communication adapter connection string 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

Responses
chevron-right
200

Adapter information retrieved successfully

application/json
post
/get-comms-adapter/{roomId}

/cast-adapter/{roomId}

post
/cast-adapter/{roomId}

Retrieve cast adapter connection string 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

Responses
chevron-right
200

Cast adapter information retrieved successfully

application/json
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
chevron-right
200

Webhook processed successfully

No content

post
/livekit-webhook
200

Webhook processed successfully

No content

Last updated