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.

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

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
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: 343

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

List Embedded Content Runs

get

Retrieves a list of runs for uploading embedded content for the specified organization. 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

Responses
200
List of embedded content runs
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
Accept: */*
[
  {
    "organizationId": "text",
    "projectId": "text",
    "contentId": "text",
    "status": {
      "phase": "Queued",
      "message": "text"
    },
    "gfnTitleId": "text",
    "createdBy": "text",
    "buildkiteRunId": "text",
    "buildkiteRunNumber": 1,
    "startTimeMs": 1,
    "endTimeMs": 1,
    "resolvedIds": {
      "modId": "text",
      "buildId": "text"
    },
    "createdContentIds": {
      "buildId": "text",
      "contentId": "text"
    },
    "id": "text"
  }
]

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-idstringOptional

The ID of an organization

x-m2-project-idstringOptional

The ID of a project

Responses
200
Detailed information about a specific World Builder content
application/json
Responseall of

Detailed information about a specific World Builder content

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",
  "organizationId": "text",
  "projectId": "text",
  "modId": "text",
  "contentVersionCount": 1
}

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
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"
}

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

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

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
200
The data of the created content embed run
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"
}
{
  "organizationId": "text",
  "projectId": "text",
  "contentId": "text",
  "status": {
    "phase": "Queued",
    "message": "text"
  },
  "gfnTitleId": "text",
  "createdBy": "text",
  "buildkiteRunId": "text",
  "buildkiteRunNumber": 1,
  "startTimeMs": 1,
  "endTimeMs": 1,
  "resolvedIds": {
    "modId": "text",
    "buildId": "text"
  },
  "createdContentIds": {
    "buildId": "text",
    "contentId": "text"
  },
  "id": "text"
}

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
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
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
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
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",
      "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",
      "createTimeMillis": 1,
      "contentId": "text",
      "contentNumber": 1
    }
  ],
  "hasMore": "text"
}

Last updated

Was this helpful?