Registration and grid APIs
Overview
Breakroom APIs require specific access to be granted to your account. If you are the World Owner, this access should be automatically enabled on your user account.
In this section of the documentation, you will see Breakroom Worlds referred to as grids. Because Breakroom is based on the Sinespace virtual world platform, you may also see the name Sinespace used instead of Breakroom.
You may send parameters as either POST form_data, or as Query parameters on the URL.
All APIs require you send three additional POST parameters:adminname, adminpwd,and gridid.These should be the username and password of an account on the grid with administrator rights, along with the grid with which you intend to interface. We recommend creating a new user for this role specifically.
User Management APIs
Register User
POST https://sine.space/worldapi/externalapi/add_user
This endpoint allows you to register new users automatically.
Query Parameters
| Name | Type | Description |
|---|---|---|
| gridid | integer | The unique grid ID where the user will be registered. |
| password | string | The user's initial password. |
| string | The user's e-mail address. We will not send any messages to this address unless requested by the user (e.g., password reset). | |
| username | string | The desired username. If a particular username is already taken, an iteration on the provided name will be assigned to the account (e.g. "User Name01"). |
| playeroutfitid | integer | The "Outfit ID" the user should be wearing when they first log in. As this creates "free" copies of items that may be listed as paid items on the Sine Wave Shop, the creator of the items must be an Administrator of the grid in question. |
- 200 User account has been created.
- 400 Bad or invalid input, or similar.
<?xml version="1.0" encoding="utf-8"?>
<AddUserResponse><UserID>2099396</UserID></AddUserResponse>
<?xml version="1.0" encoding="utf-8"?>
<Response><code>0</code><message>A user account with that name already exists.</message></Response>
Delete User
POST https://sine.space/worldapi/externalapi/delete_user
Deletes or disables a user account.
Path Parameters
| Name | Type | Description |
|---|---|---|
| userid | integer | The user ID associated with the user account. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>
Update User
POST https://sine.space/worldapi/externalapi/update_user
Changes information about a user account.
Query Parameters
| Name | Type | Description |
|---|---|---|
| userid | integer | The user ID associated with the user account. |
| string | Updates the user's e-mail address. | |
| password | string | Updates the user's password. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>
Get User
POST https://sine.space/worldapi/externalapi/get_users
Returns a bulk list of users associated with the grid.
Query Parameters
| Name | Type | Description |
|---|---|---|
| userids | string | A comma separated list of user IDs you are interested in returning information about. |
| offset | integer | The query will return a maximum of 100 records. If more are available, use "offset" to return past this point. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<GetUsersResponse><Users><UserID>2099560</UserID><UserName>username</UserName><Email>username@test1.com</Email><Gender>M</Gender></Users><Users><UserID>2099559</UserID><UserName>username2</UserName><Email>username2@test1.com</Email><Gender>F</Gender></Users></GetUsersResponse>
Get User By Email
POST https://sine.space/worldapi/externalapi/get_user_by_email
Retrieves information about an individual user via their email address.
Query Parameters
| Name | Type | Description |
|---|---|---|
| string | The e-mail address associated with the account. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<GetUserResponse><UserID>2099560</UserID><UserName>username</UserName><Email>username@test1.com</Email><Gender>M</Gender></GetUserResponse>
Update Login Region
POST https://sine.space/worldapi/externalapi/update_login_region
Updates the user, and sets their login scene to the specified ID.
Query Parameters
| Name | Type | Description |
|---|---|---|
| userid | integer | The particular user whose login scene you want to update. |
| regionid | integer | The scene you want to set as the user's login scene. Set to zero to return to grid default. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>Region APIs
Create Region
Creates a new region on the grid
The user ID to be marked as owner of the region
The item ID for the region template to use
Either "0" for no access, "1" for free-for-all access, "2" for friends-only access, and "3" for approved only access.
The name of the region you wish to create
Region was created successfully
<?xml version="1.0" encoding="utf-8"?>
<CreateRegionResponse><RegionID>152860</RegionID></CreateRegionResponse>
An error was found in the inputs
<?xml version="1.0" encoding="utf-8"?>
<Response><code>0</code><message>Room template not available, please try another.</message></Response>
Set Region Role
The ID of the region
The ID of the user in question
Either "Normal", "Admin", or "Blocked".
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>
<?xml version="1.0" encoding="utf-8"?>
<Response><code>0</code><message>The data provided is incorrect: role = abc</message></Response>
Get Regions
Requests a list of regions on the Grid
Offsets the results if there is too many to return in a single query.
Return regions owned by this account
A CSV separated list of region IDs to return information about.
<?xml version="1.0" encoding="utf-8"?>
<GetRegionsResponse><Regions><RegionID>50000040</RegionID><RegionName>regionname</RegionName><Owner>2099564</Owner><TemplateID>11</TemplateID><AccessLevel>3</AccessLevel></Regions><Regions><RegionID>50000039</RegionID><RegionName>regionname2</RegionName><Owner>2099563</Owner><TemplateID>11</TemplateID><AccessLevel>1</AccessLevel></Regions><GetRegionsResponse>
Update Region
Updates information about a particular region
The region ID to update information about
If present, changes the name of the region
If present, changes the template of the region to the specified template ID
Either "0" - no access, "1" - free access, "2" friends-only access, and "3" approved only access.
Region APIs
Create Region
POST https://sine.space/worldapi/externalapi/create_region
Creates a new Region on the grid.
Query Parameters
| Name | Type | Description |
|---|---|---|
| owner | integer | The user ID to be marked as owner of the Region. |
| templateid | integer | The item ID for the Region template to use. |
| accesslevel | integer | Either "0" for no access, "1" for free-for-all access, "2" for friends-only access, and "3" for approved only access. |
| regionname | string | The name of the Region you wish to create. |
- 200 Region was created successfully.
- 400 An error was found in the inputs.
<?xml version="1.0" encoding="utf-8"?>
<CreateRegionResponse><RegionID>152860</RegionID></CreateRegionResponse>
<?xml version="1.0" encoding="utf-8"?>
<Response><code>0</code><message>Room template not available, please try another.</message></Response>
Set Region Role
POST https://sine.space/worldapi/externalapi/set_region_role
Sets or changes a user's role within a particular Region.
Query Parameters
| Name | Type | Description |
|---|---|---|
| regionid | integer | The ID of the Region. |
| userid | integer | The ID of the user in question. |
| role | string | Either "Normal," "Admin," or "Blocked." |
- 200
- 400
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>
<?xml version="1.0" encoding="utf-8"?>
<Response><code>0</code><message>The data provided is incorrect: role = abc</message></Response>
Get Regions
POST https://sine.space/worldapi/externalapi/get_regions
Requests a list of Regions on the grid.
Query Parameters
| Name | Type | Description |
|---|---|---|
| offset | integer | Offsets the results if there are too many to return in a single query. |
| owner | integer | Return Regions owned by a particular owner's account. |
| regionids | string | A CSV list of Region IDs to return information about. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<GetRegionsResponse><Regions><RegionID>50000040</RegionID><RegionName>regionname</RegionName><Owner>2099564</Owner><TemplateID>11</TemplateID><AccessLevel>3</AccessLevel></Regions><Regions><RegionID>50000039</RegionID><RegionName>regionname2</RegionName><Owner>2099563</Owner><TemplateID>11</TemplateID><AccessLevel>1</AccessLevel></Regions><GetRegionsResponse>
Update Region
POST https://sine.space/worldapi/externalapi/update_region
Updates information about a particular Region.
Query Parameters
| Name | Type | Description |
|---|---|---|
| regionid | integer | The Region ID to update information about. |
| regionname | string | If present, changes the name of the Region. |
| templateid | integer | If present, changes the template of the Region to the specified template ID. |
| accesslevel | integer | Either "0" - no access, "1" - free access, "2" - friends-only access, and "3" - approved only access. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>