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

Worlds

The Worlds service manages virtual environments, each defined by World Builder content with custom runtime settings (map selection, session duration, etc.).

PreviousWorld BuilderNextTemplate Web App

Last updated 2 days ago

Was this helpful?

๐Ÿ–ฅ๏ธ

Returns a list of worlds that the client can launch in to

get
Authorizations
Responses
200
List of worlds that the client can launch into
application/json
4XX
The error object returned by the API when an error occurs
application/json
get
GET /api/worlds/travel/locations/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
Accept: */*
{
  "worlds": [
    {
      "deployment": "text",
      "map": "text",
      "buildId": "text",
      "organizationId": "text",
      "projectId": "text",
      "launchContextId": "text",
      "launchContextName": "text",
      "worldId": "text",
      "worldName": "text",
      "liveConfigUrl": "text",
      "contentId": "text"
    }
  ]
}

Get the details of a world

get

Retrieves and returns the specified world and linked launch context.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
The details for a world
application/json
404
The error object returned by the API when an error occurs
application/json
get
GET /api/worlds/{worldId}/ 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: */*
{
  "documentId": "text",
  "name": "text",
  "description": "text",
  "pictureUrl": "https://example.com",
  "transient": true,
  "metadata": {
    "annotations": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "labels": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "compute": {
    "group": "production",
    "region": "Europe",
    "version": "text"
  },
  "networking": {
    "strategy": "Default",
    "scaling": {
      "profile": "Tiny",
      "configuration": null
    }
  },
  "runtime": {
    "build": {
      "channelId": "text",
      "tag": "text",
      "content": {
        "id": "text"
      }
    },
    "mapName": "text",
    "durationMinutes": 1,
    "capacity": 1,
    "admissionPolicy": "Open"
  },
  "status": {
    "phase": "Inactive",
    "message": "text",
    "startedAt": "text",
    "resolvedBuild": {
      "channelId": "text",
      "tag": "text",
      "organizationId": "text",
      "id": "text"
    },
    "runId": "text"
  },
  "manifest": {
    "serverPermissions": [
      "text"
    ],
    "clientPermissions": [
      "text"
    ]
  },
  "admission": {
    "policy": "Open",
    "capacity": 1
  },
  "sessions": {
    "controlPolicy": "Unlimited",
    "streamingTicketPredicate": "text",
    "flags": {
      "ignoreExpiry": false,
      "ignoreSlotRenewalErrors": false,
      "ignoreParentMissing": false,
      "useImmediateMode": false
    },
    "forceTravelWorldId": "text"
  },
  "organizationId": "text",
  "projectId": "text",
  "launchContext": {
    "launchContextId": "text",
    "name": "text",
    "isActive": true,
    "publicDownload": {
      "enabled": true,
      "enforceAntiCheat": true,
      "allowMac": true,
      "allowIos": true
    },
    "isWorldTravelOnly": true,
    "worldId": "text",
    "description": "text",
    "errorPageUrl": "text",
    "okPageUrl": "text",
    "gdnStreaming": {
      "cmsId": "text",
      "authorizationId": "text",
      "launchMode": "same-tab",
      "useCustomClient": true,
      "useWindowedMode": true
    },
    "ubitusStreaming": {
      "gameLabel": "text",
      "gameChannel": "text"
    },
    "streamManager": {
      "streamContextId": "text",
      "allowForceProvider": true,
      "showProviderOptions": true,
      "useBuildVersion": true
    },
    "bypassBrowserRestrictions": true,
    "enableQueue": true,
    "capacity": 1,
    "buildInfo": {
      "buildChannelId": "text",
      "buildTag": "text",
      "buildType": "client"
    },
    "splashScreenUrl": "text",
    "deployment": {
      "region": "text",
      "labels": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "version": "text"
    },
    "useWorldSessions": true,
    "pictureUrl": "text",
    "isPublic": true,
    "organizationId": "text",
    "projectId": "text",
    "artifactUrl": "text",
    "permissionVerb": "*"
  }
}

Delete a world

delete

Deletes the specified world.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
Empty response
application/json
Responsenot

Empty response

404
The error object returned by the API when an error occurs
application/json
delete
DELETE /api/worlds/{worldId}/ 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 world bot deployments

get

Get all bot deployments for the specified world

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
All bot deployments for a world
application/json
404
The error object returned by the API when an error occurs
application/json
get
GET /api/worlds/{worldId}/bots/ 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: */*
[
  {
    "documentId": "text",
    "description": "text",
    "configuration": {
      "count": 1,
      "cpu": "/[a-z]/",
      "memory": "/[a-z]/",
      "args": [
        "text"
      ],
      "durationMinutes": 1
    },
    "status": {
      "phase": "Pending",
      "message": "text",
      "startedAt": 1,
      "worldStartedAt": "text",
      "cluster": {
        "name": "text",
        "computeGroup": "text"
      }
    },
    "metadata": {
      "annotations": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "labels": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      }
    },
    "organizationId": "text",
    "projectId": "text",
    "worldId": "text"
  }
]

Get world bot deployment

get

Get the details for a specific bot deployment for the specified world.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

botDeploymentIdstringRequired

The ID of a bot deployment

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
The details for a bot deployment
application/json
404
The error object returned by the API when an error occurs
application/json
get
GET /api/worlds/{worldId}/bots/{botDeploymentId}/ 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: */*
{
  "documentId": "text",
  "description": "text",
  "configuration": {
    "count": 1,
    "cpu": "/[a-z]/",
    "memory": "/[a-z]/",
    "args": [
      "text"
    ],
    "durationMinutes": 1
  },
  "status": {
    "phase": "Pending",
    "message": "text",
    "startedAt": 1,
    "worldStartedAt": "text",
    "cluster": {
      "name": "text",
      "computeGroup": "text"
    }
  },
  "metadata": {
    "annotations": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "labels": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "organizationId": "text",
  "projectId": "text",
  "worldId": "text"
}

Delete world bot deployment

delete

Stop a bot deployment for the specified world

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

botDeploymentIdstringRequired

The ID of a bot deployment

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
Default Response
delete
DELETE /api/worlds/{worldId}/bots/{botDeploymentId}/ 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

Default Response

No content

Get world deployments

get

Returns the specified world's deployments. Optionally can be filtered by status, provided in the query string.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Query parameters
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
Details for the World's deployments
application/json
4XX
The error object returned by the API when an error occurs
application/json
get
GET /api/worlds/{worldId}/deployments/ 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: */*
[
  {
    "organizationId": "text",
    "projectId": "text",
    "worldId": "text",
    "runId": "text",
    "createdAt": "text",
    "id": "text",
    "networking": {
      "scaling": {
        "profile": "Tiny"
      }
    },
    "externalId": "text",
    "compute": {
      "clusterName": "text",
      "group": "production",
      "region": "Europe",
      "version": "text"
    },
    "runtime": {
      "build": {
        "channelId": "text",
        "id": "text",
        "content": {
          "id": "text"
        }
      },
      "mapName": "text",
      "liveConfigUrl": "text",
      "durationMinute": 1,
      "args": [
        "text"
      ]
    },
    "status": "Unknown"
  }
]

World update picture URL

patch

Update the picture URL of a world

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
The updated world details
application/json
400
The error object returned by the API when an error occurs
application/json
404
The error object returned by the API when an error occurs
application/json
503
The error object returned by the API when an error occurs
application/json
patch
PATCH /api/worlds/{worldId}/pictureUrl/ 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: */*
{
  "documentId": "text",
  "name": "text",
  "description": "text",
  "pictureUrl": "https://example.com",
  "transient": true,
  "metadata": {
    "annotations": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "labels": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "compute": {
    "group": "production",
    "region": "Europe",
    "version": "text"
  },
  "networking": {
    "strategy": "Default",
    "scaling": {
      "profile": "Tiny",
      "configuration": null
    }
  },
  "runtime": {
    "build": {
      "channelId": "text",
      "tag": "text",
      "content": {
        "id": "text"
      }
    },
    "mapName": "text",
    "durationMinutes": 1,
    "capacity": 1,
    "admissionPolicy": "Open"
  },
  "status": {
    "phase": "Inactive",
    "message": "text",
    "startedAt": "text",
    "resolvedBuild": {
      "channelId": "text",
      "tag": "text",
      "organizationId": "text",
      "id": "text"
    },
    "runId": "text"
  },
  "manifest": {
    "serverPermissions": [
      "text"
    ],
    "clientPermissions": [
      "text"
    ]
  },
  "admission": {
    "policy": "Open",
    "capacity": 1
  },
  "sessions": {
    "controlPolicy": "Unlimited",
    "streamingTicketPredicate": "text",
    "flags": {
      "ignoreExpiry": false,
      "ignoreSlotRenewalErrors": false,
      "ignoreParentMissing": false,
      "useImmediateMode": false
    },
    "forceTravelWorldId": "text"
  }
}

Get a list of all active roles for a world

get

Returns a list of all active roles for a world. Could be used to get all possible conditions that allow a user to access a world.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
The roles that can access a world
application/json
get
GET /api/worlds/{worldId}/roles/ 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: */*
200

The roles that can access a world

[
  {
    "roleId": "text",
    "name": "text",
    "groupCondition": {
      "identifiers": [
        "text"
      ],
      "conditionType": "allUsers",
      "isActive": true,
      "expiryDate": {
        "to": "text",
        "from": "text"
      },
      "capacity": 1,
      "guestToken": "text",
      "chainId": "1"
    }
  }
]

Start a world

post

Transitions the phase of the world to Starting, which will subsequently launch the underlying deployments. With this transition, the world run ID and startedAt timestamp are reset.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
Empty response
application/json
Responsenot

Empty response

4XX
The error object returned by the API when an error occurs
application/json
post
POST /api/worlds/{worldId}/start/ 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

Stop a world

post

Transition the world phase to Stopped, which subsequently stops underlying deployments.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
Empty response
application/json
Responsenot

Empty response

4XX
The error object returned by the API when an error occurs
application/json
post
POST /api/worlds/{worldId}/stop/ 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

Check if a user has access to a world

get
Authorizations
Path parameters
worldIdstringRequired

The ID of a world

userIdstringRequired

The ID of a user

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Responses
200
Indicates if a user has access to a world
application/json
4XX
HTTP error message
application/json
get
GET /api/worlds/{worldId}/users/{userId}/access/ 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: */*
{
  "userId": "text",
  "hasAccess": true
}
  • GETGet worlds for an organization
  • POSTCreate a world
  • GETReturns a list of worlds that the client can launch in to
  • GETGet the details of a world
  • PATCHUpdate the details of a world
  • DELETEDelete a world
  • GETGet world bot deployments
  • POSTCreate world bot deployment
  • GETGet world bot deployment
  • PATCHUpdate world bot deployment
  • DELETEDelete world bot deployment
  • GETGet world deployments
  • PATCHWorld update picture URL
  • GETGet a list of all active roles for a world
  • POSTStart a world
  • POSTStop a world
  • GETCheck if a user has access to a world

Get worlds for an organization

get

Retrieves and returns all worlds that belong to the given Organization. Can also additionally filter by project if a project ID is passed in the headers.

Authorizations
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringOptional

The ID of a project

Responses
200
Lists all worlds for an organization or project (if specified)
application/json
get
GET /api/worlds/ HTTP/1.1
Host: your-organization-id.m2worlds.io
x-api-key: YOUR_API_KEY
x-m2-organization-id: text
Accept: */*
200

Lists all worlds for an organization or project (if specified)

[
  {
    "documentId": "text",
    "name": "text",
    "description": "text",
    "pictureUrl": "https://example.com",
    "transient": true,
    "metadata": {
      "annotations": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "labels": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      }
    },
    "compute": {
      "group": "production",
      "region": "Europe",
      "version": "text"
    },
    "networking": {
      "strategy": "Default",
      "scaling": {
        "profile": "Tiny",
        "configuration": null
      }
    },
    "runtime": {
      "build": {
        "channelId": "text",
        "tag": "text",
        "content": {
          "id": "text"
        }
      },
      "mapName": "text",
      "durationMinutes": 1,
      "capacity": 1,
      "admissionPolicy": "Open"
    },
    "status": {
      "phase": "Inactive",
      "message": "text",
      "startedAt": "text",
      "resolvedBuild": {
        "channelId": "text",
        "tag": "text",
        "organizationId": "text",
        "id": "text"
      },
      "runId": "text"
    },
    "manifest": {
      "serverPermissions": [
        "text"
      ],
      "clientPermissions": [
        "text"
      ]
    },
    "admission": {
      "policy": "Open",
      "capacity": 1
    },
    "sessions": {
      "controlPolicy": "Unlimited",
      "streamingTicketPredicate": "text",
      "flags": {
        "ignoreExpiry": false,
        "ignoreSlotRenewalErrors": false,
        "ignoreParentMissing": false,
        "useImmediateMode": false
      },
      "forceTravelWorldId": "text"
    },
    "organizationId": "text",
    "projectId": "text",
    "launchContext": {
      "launchContextId": "text",
      "name": "text",
      "isActive": true,
      "publicDownload": {
        "enabled": true,
        "enforceAntiCheat": true,
        "allowMac": true,
        "allowIos": true
      },
      "isWorldTravelOnly": true,
      "worldId": "text",
      "description": "text",
      "errorPageUrl": "text",
      "okPageUrl": "text",
      "gdnStreaming": {
        "cmsId": "text",
        "authorizationId": "text",
        "launchMode": "same-tab",
        "useCustomClient": true,
        "useWindowedMode": true
      },
      "ubitusStreaming": {
        "gameLabel": "text",
        "gameChannel": "text"
      },
      "streamManager": {
        "streamContextId": "text",
        "allowForceProvider": true,
        "showProviderOptions": true,
        "useBuildVersion": true
      },
      "bypassBrowserRestrictions": true,
      "enableQueue": true,
      "capacity": 1,
      "buildInfo": {
        "buildChannelId": "text",
        "buildTag": "text",
        "buildType": "client"
      },
      "splashScreenUrl": "text",
      "deployment": {
        "region": "text",
        "labels": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "version": "text"
      },
      "useWorldSessions": true,
      "pictureUrl": "text",
      "isPublic": true,
      "organizationId": "text",
      "projectId": "text",
      "artifactUrl": "text",
      "permissionVerb": "*"
    },
    "queueState": null
  }
]

Create a world

post

Creates a world in the given Organization and Project. Checks if the user can create a world with the given size.

Authorizations
Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Body

The new world's details

namestring ยท min: 1 ยท max: 64Required

The name of a world

Pattern: ^.+\S.*$
descriptionstring ยท max: 256Optional

The description of a world

pictureUrlstring ยท uriOptional

The picture URL of a world

transientbooleanRequired

Describes whether the world is transient. Transient worlds are automatically deleted once their duration expires and they are fully stopped.

Responses
200
The world's ID, if created successfully
application/json
post
POST /api/worlds/ 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: 1136

{
  "streaming": {
    "gdn": {
      "cmsId": "text",
      "authorizationId": "text",
      "launchMode": "same-tab",
      "useCustomClient": true,
      "useWindowedMode": true
    },
    "streamManager": {
      "streamContextId": "text",
      "allowForceProvider": true,
      "showProviderOptions": true,
      "useBuildVersion": true
    },
    "ubitus": {
      "gameLabel": "text",
      "gameChannel": "text"
    }
  },
  "compute": {
    "group": "production",
    "region": "Europe",
    "version": "text"
  },
  "networking": {
    "strategy": "Default",
    "scaling": {
      "profile": "Tiny",
      "configuration": null
    }
  },
  "name": "text",
  "description": "text",
  "pictureUrl": "https://example.com",
  "transient": true,
  "metadata": {
    "annotations": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "labels": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "runtime": {
    "build": {
      "channelId": "text",
      "tag": "text",
      "content": {
        "id": "text"
      }
    },
    "mapName": "text",
    "durationMinutes": 1,
    "capacity": 1,
    "admissionPolicy": "Open"
  },
  "manifest": {
    "serverPermissions": [
      "text"
    ],
    "clientPermissions": [
      "text"
    ]
  },
  "admission": {
    "policy": "Open",
    "capacity": 1
  },
  "sessions": {
    "controlPolicy": "Unlimited",
    "streamingTicketPredicate": "text",
    "flags": {
      "ignoreExpiry": false,
      "ignoreSlotRenewalErrors": false,
      "ignoreParentMissing": false,
      "useImmediateMode": false
    },
    "forceTravelWorldId": "text"
  }
}
200

The world's ID, if created successfully

{
  "worldId": "text",
  "launchContextId": "text"
}

Update the details of a world

patch

Updates the specified world and returns the resulting new world data if successful.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Body

The world details to update. Partial updates of object fields are not allowed. All nested fields must be provided and optional fields will be reset to default.

namestring ยท min: 1 ยท max: 64Optional

The name of a world

Pattern: ^.+\S.*$
descriptionstring ยท max: 256Optional

The description of a world

pictureUrlstring ยท uriOptional
Responses
200
The updated world details
application/json
403
Default Response
application/json
404
The error object returned by the API when an error occurs
application/json
patch
PATCH /api/worlds/{worldId}/ 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: 900

{
  "streaming": {
    "gdn": {
      "cmsId": "text",
      "authorizationId": "text",
      "launchMode": "same-tab",
      "useCustomClient": true,
      "useWindowedMode": true
    },
    "streamManager": {
      "streamContextId": "text",
      "allowForceProvider": true,
      "showProviderOptions": true,
      "useBuildVersion": true
    },
    "ubitus": {
      "gameLabel": "text",
      "gameChannel": "text"
    }
  },
  "name": "text",
  "description": "text",
  "pictureUrl": "https://example.com",
  "metadata": {
    "annotations": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "labels": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "compute": {
    "group": "production",
    "region": "Europe",
    "version": "text"
  },
  "networking": {
    "strategy": "Default",
    "scaling": {
      "profile": "Tiny",
      "configuration": null
    }
  },
  "runtime": {
    "build": {
      "channelId": "text",
      "tag": "text",
      "content": {
        "id": "text"
      }
    },
    "mapName": "text",
    "durationMinutes": 1,
    "capacity": 1,
    "admissionPolicy": "Open"
  },
  "manifest": {
    "serverPermissions": [
      "text"
    ],
    "clientPermissions": [
      "text"
    ]
  },
  "admission": {
    "policy": "Open",
    "capacity": 1
  }
}
{
  "documentId": "text",
  "name": "text",
  "description": "text",
  "pictureUrl": "https://example.com",
  "transient": true,
  "metadata": {
    "annotations": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "labels": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "compute": {
    "group": "production",
    "region": "Europe",
    "version": "text"
  },
  "networking": {
    "strategy": "Default",
    "scaling": {
      "profile": "Tiny",
      "configuration": null
    }
  },
  "runtime": {
    "build": {
      "channelId": "text",
      "tag": "text",
      "content": {
        "id": "text"
      }
    },
    "mapName": "text",
    "durationMinutes": 1,
    "capacity": 1,
    "admissionPolicy": "Open"
  },
  "status": {
    "phase": "Inactive",
    "message": "text",
    "startedAt": "text",
    "resolvedBuild": {
      "channelId": "text",
      "tag": "text",
      "organizationId": "text",
      "id": "text"
    },
    "runId": "text"
  },
  "manifest": {
    "serverPermissions": [
      "text"
    ],
    "clientPermissions": [
      "text"
    ]
  },
  "admission": {
    "policy": "Open",
    "capacity": 1
  },
  "sessions": {
    "controlPolicy": "Unlimited",
    "streamingTicketPredicate": "text",
    "flags": {
      "ignoreExpiry": false,
      "ignoreSlotRenewalErrors": false,
      "ignoreParentMissing": false,
      "useImmediateMode": false
    },
    "forceTravelWorldId": "text"
  }
}

Create world bot deployment

post

Create a bot deployment for the specified world with the provided bot count

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Body

Create a bot deployment

descriptionstring ยท max: 2048Optional
countnumberRequired
cpustring ยท regexOptionalPattern: ^\d+(m|\.\d\d?\d?)?$
memorystring ยท regexOptionalPattern: ^\d+(\.\d+)?(m|k|Ki|M|Mi|G|Gi)?$
argsstring[]Optional
durationMinutesnumberOptional
Responses
200
Default Response
post
POST /api/worlds/{worldId}/bots/ 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: 209

{
  "description": "text",
  "metadata": {
    "annotations": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "labels": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "count": 1,
  "cpu": "/[a-z]/",
  "memory": "/[a-z]/",
  "args": [
    "text"
  ],
  "durationMinutes": 1
}
200

Default Response

No content

Update world bot deployment

patch

Update a bot deployment for the specified world. This can be used to alter the bot count in a bot deployment.

Authorizations
Path parameters
worldIdstringRequired

The ID of a world

botDeploymentIdstringRequired

The ID of a bot deployment

Header parameters
x-m2-organization-idstringRequired

The ID of an organization

x-m2-project-idstringRequired

The ID of a project

Body

Patch a bot deployment

countnumberRequired
cpustring ยท regexOptionalPattern: ^\d+(m|\.\d\d?\d?)?$
memorystring ยท regexOptionalPattern: ^\d+(\.\d+)?(m|k|Ki|M|Mi|G|Gi)?$
argsstring[]Optional
durationMinutesnumberOptional
Responses
200
Default Response
patch
PATCH /api/worlds/{worldId}/bots/{botDeploymentId}/ 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: 188

{
  "count": 1,
  "cpu": "/[a-z]/",
  "memory": "/[a-z]/",
  "args": [
    "text"
  ],
  "durationMinutes": 1,
  "metadata": {
    "annotations": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "labels": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  }
}
200

Default Response

No content