LogoLogo
API Status
  • 👋Welcome
  • 🌐What is Morpheus Platform?
    • Interoperability
  • â„šī¸Help
    • 📗Glossary
    • 🆘Support
    • Firewall problems
    • EULA
  • CREATION
    • 🎮Unreal Development
      • ⚡Get Started
        • âš’ī¸Download the Editor
        • âĢUpload Content
        • 🌎Creating your own map
        • 📝Morpheus Base Project
        • ❓Differences from Unreal
          • 🧍Character Configuration
        • 📡Morpheus Networking
          • Introduction to Morpheus Networking
          • Network Levels
          • Replicated Properties
          • RPCs
          • Morpheus Render Targets
          • Morpheus Array
          • Networking FAQ
          • Replicating Sublevels
      • 📚Features & Guides
        • 📒Example Plugin
          • Nameplates
          • In-game roles
          • Resizing
        • 🏊Actor Pooling
        • 🔊Audio
        • 🎭Avatars
          • Creating an Avatar
          • Attachments
            • MML Attachments
          • Custom Animation Variables
          • Importing an NFT collection
          • Capsules and Mesh Transforms
        • 🤖Bots
        • đŸŽ™ī¸Chat
          • Unreal Text Chat
        • đŸŽ›ī¸Control Panels
          • Control Panel Configuration
          • DJ booth mission control
          • Observer Controls
        • 🔉Crowd Audio
        • đŸ¤ŧCrowd Rendering
          • Legacy Animated Crowd
            • Animated Crowd Console Commands
            • Attaching static meshes to crowd members
          • Crowd Materials
          • Performance Parameters
          • Live Config Settings
          • Crowd Animation
            • Crowd Anim Blueprint
              • User Guide - Crowd Anim Blueprint
              • Reference Guide - ABP Nodes
                • Animation Playback
                • States and State Machines
                • Variables
                • Transitions
                • Special
                • Blends
                • Additional Notes
        • 🍱Helpers & Extras
          • "Instanced Objects" in Blueprints
          • Objects with "world context"
          • Making DataAsset classes
          • Duplicate Objects
          • The Bootflow Subsystem
          • The "Wait For Condition" System
          • Advanced Graphics settings
          • Listening to inputs on UObjects
          • Morpheus UserID
          • World Services
          • M2Extras: Skins System
        • đŸ–Ĩī¸Loading Screen
        • ⚡Live Config
          • Editing for a World
          • Editing Locally
          • Default Settings
          • Accessing via Blueprint
          • Adding New Settings
          • Overriding Defaults
          • Using Arrays
        • 🧊MML
        • đŸ•ēMotion Capture
        • 📡Networking
        • đŸ“ĸNotifications
        • Raycastable Crowd
        • 🌐Singletons
        • 📱Streaming & Multiplatform
          • GFN on mobile
        • đŸ–Ĩī¸UI
          • "UI Mode"
        • đŸ—ƒī¸User Collections
          • Creating a New Object Definition
          • Accessing from Unreal
            • Creating Objects Definitions
            • Transfer Objects
            • User Collection Views
            • Receiving Updates
        • đŸ“ēVideo Players
          • Embedded Video Player
          • Millicast video streaming
            • How to Setup an In-Game Video Stream
            • Picture-in-Picture mode
          • Streaming Video Player
            • How to Setup a URL Video Player
            • Picture-in-Picture mode
        • 🐞Visual Debugging
          • Inspector
        • đŸĒŸWeb UI
        • Online Services
          • KV Store Service
        • 💠Web Requests
          • Http Requests
            • Legacy HTTP Nodes
          • JSON Handling
          • WebSockets
          • Identity Validation
          • Allowed External URLs
          • Walkthrough Example
            • Example Counter Service
        • âœˆī¸World Travel
          • World Travel in the editor
        • Avatar Physics Assets
        • Action Gameplay Helper Components
      • 🔑Workflows
        • â†—ī¸Upgrade the Editor
          • đŸ–Ĩī¸Version History
        • âš™ī¸Editing Project Settings
        • 📈Profiling
        • đŸ§ēMarketplace Importing
        • đŸ› ī¸Extra Workflows
          • Setup Play-in-Editor
          • Setup Local Asset Validation
          • Adding Gameplay Tags
          • Validating Game Assets
          • Custom Connection Modes
          • Connect Editor to a World
          • Common Issues
      • 📚Useful Reading
        • ⭐Best Practices
    • 🌎Worlds
      • 📩Invite Players
        • Setting Role Groups
      • Persistent Worlds
      • Always on Worlds
    • 📅Running events
      • ✅Large scale events - Checklist
      • 👾Anti-Cheat (EAC)
      • 🎮Player Entry
        • 📱React Native
        • Steam
        • đŸ’ģHardware Reqs
      • đŸŽĨBroadcast
        • 📹OBS Integration
      • Failover
      • 🏁Capacity And Queue Management
  • ADMINS
    • đŸ‘ĒAccess Control
      • Adding metaverse contributors
      • Creating a new project
    • 💲Pricing
      • Development Support
      • Included Usage & Overages
      • Cloud Streaming
      • Access Modes
      • War Room Support
      • Platform SLA
    • âš™ī¸Settings
      • đŸ—ƒī¸Projects
  • APIs and Tooling
    • đŸ–Ĩī¸API Reference
      • Accounts
      • Events
      • Key/Value Store
      • Organizations
      • Realtime
      • User Profile
      • World Builder
      • Worlds
    • đŸ’ģTemplate Web App
      • đŸ’ĸModeration
    • Pixel Streaming
    • 🚀Launcher
  • Integrations
    • 📊Analytics
      • Sending events from web
      • 🎮Sending Events from Unreal
    • đŸ’ŦChat
      • 🎮Integrating Pubnub with your Unreal Project
      • Adding Moderation to Chat
Powered by GitBook
On this page

Was this helpful?

  1. APIs and Tooling
  2. API Reference

World Builder

Controls the creation and management of World Builder content and mods. It interfaces with the Unreal Engine editor to customize cooking, packaging, and deployment for both game clients and servers.

PreviousUser ProfileNextWorlds

Last updated 3 days ago

Was this helpful?

đŸ–Ĩī¸

List Embedded Content Runs

get

Retrieves a list of runs for uploading embedded content for the specified organization and project. It can filter the runs by state (queued, pending, running, cancelling, completed or failed).

Authorizations
Query parameters
limitnumberOptional

Number of documents to return per page

startAfterstringOptional

Unique id of the returned value object that the query should start after

endBeforestringOptional

Unique id of the returned value object that the query should end before

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
List of embedded content runs
application/json
4XX
The error object returned by the API when an error occurs
application/json
get
GET /api/world-builder/content/embed/ HTTP/1.1
Host: your-organization-id.m2worlds.io
Authorization: Bearer YOUR_SECRET_TOKEN
x-m2-organization-id: text
x-m2-project-id: text
Accept: */*
[
  {
    "documentId": "text",
    "organizationId": "text",
    "projectId": "text",
    "contentId": "text",
    "status": {
      "phase": "Queued",
      "message": "text"
    },
    "gfnTitleId": "text",
    "buildkiteRunId": "text",
    "buildkiteRunNumber": 1,
    "startTimeMs": 1,
    "endTimeMs": 1
  }
]

Get Content

get

Retrieves the data for content using its contentId.

Authorizations
Path parameters
contentIdstringRequired

Unique identifier of the World Builder content to operate on, used in various content-related API endpoints

Header parameters
x-m2-organization-idnullOptional
x-m2-project-idnullOptional
Responses
200
Detailed information about a specific World Builder content
application/json
Responseall of

Detailed information about a specific World Builder content

4XX
The error object returned by the API when an error occurs
application/json
get
GET /api/world-builder/content/{contentId}/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
Accept: */*
{
  "documentId": "text",
  "description": "text",
  "status": 0,
  "buildId": "text",
  "creatorId": "text",
  "pluginName": "text",
  "maps": [
    {
      "name": "text",
      "longPackageName": "text",
      "description": "text",
      "pictureUrl": "text",
      "roles": [
        "text"
      ]
    }
  ],
  "files": [
    {
      "name": "text",
      "platform": "text",
      "configuration": "text",
      "sizeBytes": 1,
      "md5hash": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "type": "Pak"
    }
  ],
  "patchType": "None",
  "pakEmbedding": {
    "gfnTitleIds": [
      "text"
    ]
  },
  "organizationId": "text",
  "projectId": "text",
  "modId": "text",
  "contentVersionCount": 1
}

Delete Content

delete

Deletes a specific content ID.

Authorizations
Path parameters
contentIdstringRequired

Unique identifier of the World Builder content to operate on, used in various content-related API endpoints

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
204
Empty response indicating successful content deletion
application/json
Responsenull

Empty response indicating successful content deletion

4XX
The error object returned by the API when an error occurs
application/json
delete
DELETE /api/world-builder/content/{contentId}/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Accept: */*

No content

Delete a content embed run

delete

Stops a content embed run that is in the queued, pending, or running phase.

Authorizations
Path parameters
contentIdstringRequired
contentEmbedRunIdstringRequired
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
204
Default Response
application/json
Responseany
4XX
The error object returned by the API when an error occurs
application/json
delete
DELETE /api/world-builder/content/{contentId}/embed/{contentEmbedRunId}/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Accept: */*

No content

Get Mods

get

Retrieves a list of mods that the user has access to within an organization or project. Only project scoped queries may make paginated requests. Support for organization scoped queries will be removed in a future version.

Authorizations
Query parameters
limitnumberOptional

Number of documents to return per page

startAfterstringOptional

Unique id of the returned value object that the query should start after

endBeforestringOptional

Unique id of the returned value object that the query should end before

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringOptional

The ID of a project

Responses
200
The relevant mods associated with the organization.
application/json
Responseany of

The relevant mods associated with the organization.

or
4XX
The error object returned by the API when an error occurs
application/json
get
GET /api/world-builder/mods/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
Accept: */*
{
  "mods": [
    {
      "modId": "text",
      "name": "text",
      "description": "text",
      "pictureUrl": "text",
      "liveContentId": "text",
      "projectId": "text",
      "canUserWrite": true,
      "lastUploadTime": 1
    }
  ],
  "hasMore": "text"
}

Get Mod IDs

get

Retrieves a list of mod IDs that the user has access to within an organization and project.

Authorizations
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
The relevant mods associated with the project.
application/json
4XX
The error object returned by the API when an error occurs
application/json
get
GET /api/world-builder/mods/mapping/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Accept: */*
{
  "mods": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

Get Mod

get

Retrieves a mod and its associated content using the mod's modId. The response also includes the user's write access permissions for the mod.

Authorizations
Path parameters
modIdstringRequired
Query parameters
limitnumberOptional

Number of documents to return per page

startAfterstringOptional

Unique id of the returned value object that the query should start after

endBeforestringOptional

Unique id of the returned value object that the query should end before

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
The response when getting a mod
application/json
4XX
The error object returned by the API when an error occurs
application/json
get
GET /api/world-builder/mods/{modId}/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Accept: */*
{
  "mod": {
    "modId": "text",
    "name": "text",
    "description": "text",
    "pictureUrl": "text",
    "liveContentId": "text",
    "canUserWrite": true,
    "lastUploadTime": 1,
    "modContentCount": 1
  },
  "content": [
    {
      "documentId": "text",
      "description": "text",
      "status": 0,
      "buildId": "text",
      "creatorId": "text",
      "pluginName": "text",
      "maps": [
        {
          "name": "text",
          "longPackageName": "text",
          "description": "text",
          "pictureUrl": "text",
          "roles": [
            "text"
          ]
        }
      ],
      "files": [
        {
          "name": "text",
          "platform": "text",
          "configuration": "text",
          "sizeBytes": 1,
          "md5hash": "text",
          "metadata": {
            "ANY_ADDITIONAL_PROPERTY": "text"
          },
          "type": "Pak"
        }
      ],
      "patchType": "None",
      "pakEmbedding": {
        "gfnTitleIds": [
          "text"
        ]
      },
      "createTimeMillis": 1
    }
  ]
}

Get Mod Contents

get

Lists all the contents for a mod.

Authorizations
Path parameters
modIdstringRequired
Query parameters
limitnumberOptional

Number of documents to return per page

startAfterstringOptional

Unique id of the returned value object that the query should start after

endBeforestringOptional

Unique id of the returned value object that the query should end before

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
A list of contents for the requested Mod.
application/json
get
GET /api/world-builder/mods/{modId}/contents/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Accept: */*
200

A list of contents for the requested Mod.

{
  "contents": [
    {
      "description": "text",
      "status": 0,
      "buildId": "text",
      "creatorId": "text",
      "pluginName": "text",
      "maps": [
        {
          "name": "text",
          "longPackageName": "text",
          "description": "text",
          "pictureUrl": "text",
          "roles": [
            "text"
          ]
        }
      ],
      "files": [
        {
          "name": "text",
          "platform": "text",
          "configuration": "text",
          "sizeBytes": 1,
          "md5hash": "text",
          "metadata": {
            "ANY_ADDITIONAL_PROPERTY": "text"
          },
          "type": "Pak"
        }
      ],
      "patchType": "None",
      "pakEmbedding": {
        "gfnTitleIds": [
          "text"
        ]
      },
      "createTimeMillis": 1,
      "contentId": "text",
      "contentNumber": 1
    }
  ],
  "hasMore": "text"
}
  • GETGet Content IDs
  • POSTCreate Content
  • GETList Embedded Content Runs
  • GETGet Content
  • PATCHUpdate Content
  • DELETEDelete Content
  • POSTCreate a new content embed run
  • DELETEDelete a content embed run
  • PUTUpdate content embedding configuration
  • GETGet Mods
  • GETGet Mod IDs
  • GETGet Mod
  • GETGet Mod Contents

Get Content IDs

get

Retrieves a list of content IDs for a project. You can filter the results by providing query parameters that correspond to properties in the WorldBuilderContentShape.

Authorizations
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
List of content IDs available in World Builder, representing unique identifiers for various content items
application/json
Responsestring[]

List of content IDs available in World Builder, representing unique identifiers for various content items

4XX
The error object returned by the API when an error occurs
application/json
get
GET /api/world-builder/content/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Accept: */*
[
  "text"
]

Create Content

post

Creates new content for a specific project.

Authorizations
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Body

Data required to create new World Builder content, excluding system-generated fields. This includes content details such as description, buildId, pluginName, and maps.

descriptionstringRequired
buildIdstringRequired
pluginNamestringRequired
patchTypeany ofOptional
string ¡ enumOptionalPossible values:
or
string ¡ enumOptionalPossible values:
or
string ¡ enumOptionalPossible values:
Responses
201
Response containing the ID of the newly created content in World Builder
application/json
4XX
The error object returned by the API when an error occurs
application/json
post
POST /api/world-builder/content/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Content-Type: application/json
Accept: */*
Content-Length: 383

{
  "description": "text",
  "buildId": "text",
  "pluginName": "text",
  "maps": [
    {
      "name": "text",
      "longPackageName": "text",
      "description": "text",
      "pictureUrl": "text",
      "roles": [
        "text"
      ]
    }
  ],
  "patchType": "None",
  "pakEmbedding": {
    "gfnTitleIds": [
      "text"
    ]
  },
  "files": [
    {
      "name": "text",
      "platform": "text",
      "configuration": "text",
      "sizeBytes": 1,
      "md5hash": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "type": "Pak"
    }
  ]
}
{
  "contentId": "text"
}

Update Content

patch

Updates the maps for a specific content ID.

Authorizations
Path parameters
contentIdstringRequired

Unique identifier of the World Builder content to operate on, used in various content-related API endpoints

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Body

Data for updating maps in specific World Builder content, allowing partial updates

Responses
200
Updated World Builder content after modification, including organization, project, and mod IDs
application/json
4XX
The error object returned by the API when an error occurs
application/json
patch
PATCH /api/world-builder/content/{contentId}/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "maps": [
    {
      "name": "text",
      "longPackageName": "text",
      "description": "text",
      "pictureUrl": "text",
      "roles": [
        "text"
      ]
    }
  ]
}
{
  "documentId": "text",
  "description": "text",
  "status": 0,
  "buildId": "text",
  "creatorId": "text",
  "pluginName": "text",
  "maps": [
    {
      "name": "text",
      "longPackageName": "text",
      "description": "text",
      "pictureUrl": "text",
      "roles": [
        "text"
      ]
    }
  ],
  "files": [
    {
      "name": "text",
      "platform": "text",
      "configuration": "text",
      "sizeBytes": 1,
      "md5hash": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "type": "Pak"
    }
  ],
  "patchType": "None",
  "pakEmbedding": {
    "gfnTitleIds": [
      "text"
    ]
  }
}

Create a new content embed run

post

Queues a new content embed run for the specified organization, project, and content.

Authorizations
Path parameters
contentIdstringRequired
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Body

The request body for embedding content

gfnTitleIdstringRequired

The title ID of the variant to use for embedding

Responses
201
The ID of the content embedding run
application/json
4XX
The error object returned by the API when an error occurs
application/json
post
POST /api/world-builder/content/{contentId}/embed/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
x-m2-project-id: text
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "gfnTitleId": "text"
}
{
  "contentEmbedRunId": "text"
}

Update content embedding configuration

put

Update the content embedding configuration for the organization. The operation completely replaces the existing configuration. Adding configuration enables content embedding; removing configuration disables it.

Authorizations
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

Body

Request to update the content embedding configuration.

Responses
204
Default Response
application/json
Responseany
4XX
The error object returned by the API when an error occurs
application/json
put
PUT /api/world-builder/embedVariants/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "ANY_ADDITIONAL_PROPERTY": {
    "name": "text",
    "cmsId": "text"
  }
}

No content