opencloud

package
v0.0.0-...-a40f371 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2025 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// https://regex101.com/r/8SofBV/1
	LuauExecutionTaskPathRegex = regexp.MustCompile(`universes/(?<UniverseID>\d+)\/places\/(?<PlaceID>\d+)\/(versions\/(?<VersionID>\d+)\/)?(luau-execution-sessions\/(?<SessionID>.+)?\/tasks\/(?<TaskID>.+)|(luau-execution-session-tasks\/(?<TaskID>.+)))`)
)

Functions

func Pointer

func Pointer[T any](v T) *T

Types

type APIKeyRoundTripper

type APIKeyRoundTripper struct {
	APIKey    string
	Transport http.RoundTripper
}

func (*APIKeyRoundTripper) RoundTrip

func (c *APIKeyRoundTripper) RoundTrip(req *http.Request) (*http.Response, error)

type Asset

type Asset struct {
	AssetType          AssetType             `json:"assetType"`
	AssetID            string                `json:"assetId"`
	CreationConext     AssetCreationContext  `json:"creationContext"`
	DisplayName        string                `json:"displayName"`
	Description        string                `json:"description"`
	Path               string                `json:"path"`
	RevisionID         string                `json:"revisionId"`
	RevisionCreateTime string                `json:"revisionCreateTime"`
	ModerationResult   AssetModerationResult `json:"moderationResult"`
	Icon               string                `json:"icon"`
	Previews           []AssetPreview        `json:"previews"`
	State              string                `json:"state"`
	AssetSocialLinks
}

type AssetCreate

type AssetCreate struct {
	AssetType       *AssetType            `json:"assetType,omitempty"`
	DisplayAnme     *string               `json:"displayName,omitempty"`
	Description     *string               `json:"description,omitempty"`
	CreationContext *AssetCreationContext `json:"creationContext,omitempty"`
}

type AssetCreationContext

type AssetCreationContext struct {
	Creator       AssetCreator `json:"creator"`
	ExpectedPrice int          `json:"expectedPrices"`
}

type AssetCreator

type AssetCreator struct {
	UserId string `json:"userId"`
}

type AssetGetOptions

type AssetGetOptions struct {
	ReadMask string `url:"readMask,omitempty"`
}

type AssetModerationResult

type AssetModerationResult struct {
	ModerationState AssetModerationState `json:"moderationState"`
}

type AssetModerationState

type AssetModerationState string
const (
	AssetModerationStateReviewing AssetModerationState = "Reviewing"
	AssetModerationStateRejected  AssetModerationState = "Rejected"
	AssetModerationStateApproved  AssetModerationState = "Approved"
)

type AssetPreview

type AssetPreview struct {
	Asset   string `json:"asset"`
	AltText string `json:"altText"`
}

type AssetQuota

type AssetQuota struct {
	Path                string         `json:"path"`
	QuotaType           QuotaType      `json:"quotaType"`
	AssetType           AssetQuotaType `json:"assetType"`
	Usage               int            `json:"usage"`
	Capacity            int            `json:"capacity"`
	Period              QuotaPeriod    `json:"period"`
	UsageResetTimestamp string         `json:"usageResetTime"`
}

type AssetQuotaType

type AssetQuotaType string
const (
	AssetQuotaTypeUnspecified               AssetQuotaType = "ASSET_TYPE_UNSPECIFIED"
	AssetQuotaTypeImage                     AssetQuotaType = "IMAGE"
	AssetQuotaTypeTShirt                    AssetQuotaType = "TSHIRT"
	AssetQuotaTypeAudio                     AssetQuotaType = "AUDIO"
	AssetQuotaTypeMesh                      AssetQuotaType = "MESH"
	AssetQuotaTypeLua                       AssetQuotaType = "LUA"
	AssetQuotaTypeHat                       AssetQuotaType = "HAT"
	AssetQuotaTypePlace                     AssetQuotaType = "PLACE"
	AssetQuotaTypeModel                     AssetQuotaType = "MODEL"
	AssetQuotaTypeShirt                     AssetQuotaType = "SHIRT"
	AssetQuotaTypePants                     AssetQuotaType = "PANTS"
	AssetQuotaTypeDecal                     AssetQuotaType = "DECAL"
	AssetQuotaTypeHead                      AssetQuotaType = "HEAD"
	AssetQuotaTypeFace                      AssetQuotaType = "FACE"
	AssetQuotaTypeGear                      AssetQuotaType = "GEAR"
	AssetQuotaTypeAnimation                 AssetQuotaType = "ANIMATION"
	AssetQuotaTypeTorso                     AssetQuotaType = "TORSO"
	AssetQuotaTypeRightArm                  AssetQuotaType = "RIGHT_ARM"
	AssetQuotaTypeLeftArm                   AssetQuotaType = "LEFT_ARM"
	AssetQuotaTypeLeftLeg                   AssetQuotaType = "LEFT_LEG"
	AssetQuotaTypeRightLeg                  AssetQuotaType = "RIGHT_LEG"
	AssetQuotaTypeYouTubeVideo              AssetQuotaType = "YOUTUBE_VIDEO"
	AssetQuotaTypeApp                       AssetQuotaType = "APP"
	AssetQuotaTypeCode                      AssetQuotaType = "CODE"
	AssetQuotaTypePlugin                    AssetQuotaType = "PLUGIN"
	AssetQuotaTypeSolidModel                AssetQuotaType = "SOLID_MODEL"
	AssetQuotaTypeMeshPart                  AssetQuotaType = "MESH_PART"
	AssetQuotaTypeHairAccessory             AssetQuotaType = "HAIR_ACCESSORY"
	AssetQuotaTypeFaceAccessory             AssetQuotaType = "FACE_ACCESSORY"
	AssetQuotaTypeNeckAccessory             AssetQuotaType = "NECK_ACCESSORY"
	AssetQuotaTypeShoulderAccessory         AssetQuotaType = "SHOULDER_ACCESSORY"
	AssetQuotaTypeFrontAccessory            AssetQuotaType = "FRONT_ACCESSORY"
	AssetQuotaTypeBackAccessory             AssetQuotaType = "BACK_ACCESSORY"
	AssetQuotaTypeWaistAccessory            AssetQuotaType = "WAIST_ACCESSORY"
	AssetQuotaTypeClimbAnimation            AssetQuotaType = "CLIMB_ANIMATION"
	AssetQuotaTypeDeathAnimation            AssetQuotaType = "DEATH_ANIMATION"
	AssetQuotaTypeFallAnimation             AssetQuotaType = "FALL_ANIMATION"
	AssetQuotaTypeIdleAnimation             AssetQuotaType = "IDLE_ANIMATION"
	AssetQuotaTypeJumpAnimation             AssetQuotaType = "JUMP_ANIMATION"
	AssetQuotaTypeRunAnimation              AssetQuotaType = "RUN_ANIMATION"
	AssetQuotaTypeSwimAnimation             AssetQuotaType = "SWIM_ANIMATION"
	AssetQuotaTypeWalkAnimation             AssetQuotaType = "WALK_ANIMATION"
	AssetQuotaTypePoseAnimation             AssetQuotaType = "POSE_ANIMATION"
	AssetQuotaTypeLocalizationTableManifest AssetQuotaType = "LOCALIZATION_TABLE_MANIFEST"
	AssetQuotaTypeEmoteAnimation            AssetQuotaType = "EMOTE_ANIMATION"
	AssetQuotaTypeVideo                     AssetQuotaType = "VIDEO"
	AssetQuotaTypeTexturePack               AssetQuotaType = "TEXTURE_PACK"
	AssetQuotaTypeTShirtAccessory           AssetQuotaType = "TSHIRT_ACCESSORY"
	AssetQuotaTypeShirtAccessory            AssetQuotaType = "SHIRT_ACCESSORY"
	AssetQuotaTypePantsAccessory            AssetQuotaType = "PANTS_ACCESSORY"
	AssetQuotaTypeJacketAccessory           AssetQuotaType = "JACKET_ACCESSORY"
	AssetQuotaTypeSweaterAccessory          AssetQuotaType = "SWEATER_ACCESSORY"
	AssetQuotaTypeShortsAccessory           AssetQuotaType = "SHORTS_ACCESSORY"
	AssetQuotaTypeLeftShoeAccessory         AssetQuotaType = "LEFT_SHOE_ACCESSORY"
	AssetQuotaTypeRightShoeAccessory        AssetQuotaType = "RIGHT_SHOE_ACCESSORY"
	AssetQuotaTypeDressSkirtAccessory       AssetQuotaType = "DRESS_SKIRT_ACCESSORY"
	AssetQuotaTypeFontFamily                AssetQuotaType = "FONT_FAMILY"
	AssetQuotaTypeFontFace                  AssetQuotaType = "FONT_FACE"
	AssetQuotaTypeMeshHiddenSurfaceRemoval  AssetQuotaType = "MESH_HIDDEN_SURFACE_REMOVAL"
	AssetQuotaTypeEyebrowAccessory          AssetQuotaType = "EYEBROW_ACCESSORY"
	AssetQuotaTypeEyelashAccessory          AssetQuotaType = "EYELASH_ACCESSORY"
	AssetQuotaTypeMoodAnimation             AssetQuotaType = "MOOD_ANIMATION"
	AssetQuotaTypeDynamicHead               AssetQuotaType = "DYNAMIC_HEAD"
	AssetQuotaTypeCodeSnippet               AssetQuotaType = "CODE_SNIPPET"
	AssetQuotaTypeAdsVideo                  AssetQuotaType = "ADS_VIDEO"
)

type AssetQuotas

type AssetQuotas struct {
	AssetQuotas   []AssetQuota `json:"assetQuotas"`
	NextPageToken string       `json:"nextPageToken"`
}
type AssetSocialLink struct {
	Title string `json:"title"`
	URI   string `json:"uri"`
}
type AssetSocialLinks struct {
	FacebookSocialLink *AssetSocialLink `json:"facebookSocialLink,omitempty"`
	TwitterSocialLink  *AssetSocialLink `json:"twitterSocialLink,omitempty"`
	YouTubeSocialLink  *AssetSocialLink `json:"youtubeSocialLink,omitempty"`
	TwitchSocialLink   *AssetSocialLink `json:"twitchSocialLink,omitempty"`
	DiscordSocialLink  *AssetSocialLink `json:"discordSocialLink,omitempty"`
	GitHubSocialLink   *AssetSocialLink `json:"githubSocialLink,omitempty"`
	RobloxSocialLink   *AssetSocialLink `json:"robloxSocialLink,omitempty"`
	GuildedSocialLink  *AssetSocialLink `json:"guildedSocialLink,omitempty"`
	DevForumSocialLink *AssetSocialLink `json:"devForumSocialLink,omitempty"`
}

type AssetType

type AssetType string
const (
	AssetTypeAudio AssetType = "AUDIO"
	AssetTypeDecal AssetType = "DECAL"
	AssetTypeModel AssetType = "MODEL"
)

type AssetUpdate

type AssetUpdate struct {
	AssetType       *AssetType            `json:"assetType,omitempty"`
	AssetID         *string               `json:"assetId,omitempty"`
	DisplayName     *string               `json:"displayName,omitempty"`
	Description     *string               `json:"description,omitempty"`
	CreationContext *AssetCreationContext `json:"creationContext,omitempty"`
	Previews        []*AssetPreview       `json:"previews,omitempty"`
	AssetSocialLinks
}

type AssetUpdateOptions

type AssetUpdateOptions struct {
	AssetID     *string `url:"assetId,omitempty"`
	UpdateMasdk *string `url:"updateMask,omitempty"`
}

type AssetVersion

type AssetVersion struct {
	CreationContext  AssetCreationContext  `json:"creationContext"`
	Path             string                `json:"path"`
	ModerationResult AssetModerationResult `json:"moderationResult"`
}

type AssetVersionList

type AssetVersionList struct {
	AssetVersions []AssetVersion `json:"assetVersions"`
	NextPageToken string         `json:"nextPageToken"`
}

type AssetVersionRollback

type AssetVersionRollback struct {
	AssetVersion *string `json:"assetVersion,omitempty"`
}

type AssetsService

type AssetsService service

AssetsService will handle communciation with the actions related to the API.

Roblox Open Cloud API Docs: https://create.roblox.com/docs/en-us/cloud

func (*AssetsService) ArchiveAsset

func (s *AssetsService) ArchiveAsset(ctx context.Context, assetId string) (*Asset, *Response, error)

ArchiveAsset will archive a specificed asset, making it no longer usable / visible in experiences.

Required scopes:

- asset:read

- asset:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#POST-v1-assets-{assetId}:archive

[POST] /assets/v1/assets/{assetId}:archive

func (*AssetsService) CreateAsset

func (s *AssetsService) CreateAsset(ctx context.Context, data AssetCreate, asset *os.File) (*Operation, *Response, error)

CreateAsset will create a new asset.

Required scopes:

- asset:read

- asset:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#POST-v1-assets

[POST] /assets/v1/assets

func (*AssetsService) GetAsset

func (s *AssetsService) GetAsset(ctx context.Context, assetId string, opts *AssetGetOptions) (*Asset, *Response, error)

GetAsset will fetch a specificed asset.

Required scopes: asset:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#GET-v1-assets

[GET] /assets/v1/assets/{asset_id}

func (*AssetsService) GetAssetVersion

func (s *AssetsService) GetAssetVersion(ctx context.Context, assetId string, versionNumber string) (*AssetVersion, *Response, error)

GetAssetVersion will fetch an asset's version.

Required scopes: asset:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#GET-v1-assets-_assetId_-versions-_versionNumber_

[GET] /assets/v1/assets/{assetId}/versions/{versionNumber}

func (*AssetsService) GetAssetVersions

func (s *AssetsService) GetAssetVersions(ctx context.Context, assetId string, opts *Options) (*AssetVersionList, *Response, error)

GetAssetVersions will fetch an asset's versions.

Required scopes: asset:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#GET-assets-v1-assets-_assetId_-versions

[GET] /assets/v1/assets/{assetId}/versions

func (*AssetsService) GetOperation

func (s *AssetsService) GetOperation(ctx context.Context, operationId string) (*Operation, *Response, error)

GetOperation will fetch an asset's operation.

Required scopes: asset:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#GET-v1-operations-_operationId_

[GET] /assets/v1/operations/{operationId}

func (*AssetsService) RestoreAsset

func (s *AssetsService) RestoreAsset(ctx context.Context, assetId string) (*Asset, *Response, error)

RestoreAsset will restore a previously archived asset, making it usable / visible once more in experiences.

Required scopes:

- asset:read

- asset:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#POST-v1-assets-{assetId}:restore

[POST] /assets/v1/assets/{assetId}:restore

func (*AssetsService) RollbackAssetVersion

func (s *AssetsService) RollbackAssetVersion(ctx context.Context, assetId string, data AssetVersionRollback) (*AssetVersion, *Response, error)

RollbackAssetVersion will rollback an asset's version to a specified version.

Required scopes:

- asset:read

- asset:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#POST-assets-v1-assets-_assetId_-versions:rollback

[POST] /assets/v1/assets/{assetId}/versions:rollback

func (*AssetsService) UpdateAsset

func (s *AssetsService) UpdateAsset(ctx context.Context, assetId string, data *AssetUpdate, asset *os.File, opts *AssetUpdateOptions) (*Operation, *Response, error)

UpdateAsset will update an asset's metadata or contents.

Required scopes:

- asset:read

- asset:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/reference/cloud/assets/v1#PATCH-v1-assets-_assetId_

[PATCH] /assets/v1/assets/{asset_id}

type Client

type Client struct {
	BaseURL *url.URL

	Assets *AssetsService

	DataAndMemoryStore *DataAndMemoryStoreService
	LuauExecution      *LuauExecutionService
	Monetization       *MonetizationService
	UniverseAndPlaces  *UniverseAndPlacesService
	UserAndGroups      *UserAndGroupsService
	// contains filtered or unexported fields
}

func NewClient

func NewClient() *Client

NewClient will create a completely new client. To authenticate with the Opencloud API, you can use the WithAPIKey or WithOAuthToken methods.

WithAPIKey will use an API key that you created for your experience. WithOAuthToken should be used for OAuth applications that are athenticated.

func (*Client) Do

func (c *Client) Do(ctx context.Context, req *http.Request, v any) (*Response, error)

func (*Client) NewMultipartRequest

func (c *Client) NewMultipartRequest(method, urlString string, body *bytes.Buffer, contentType string) (*http.Request, error)

func (*Client) NewRequest

func (c *Client) NewRequest(method, urlString string, body any) (*http.Request, error)

func (*Client) WithAPIKey

func (c *Client) WithAPIKey(apiKey string) *Client

WithAPIKey will use an API key to authenticate with the Opencloud API.

You can create a new API key at: https://create.roblox.com/dashboard/credentials?activeTab=ApiKeysTab

func (*Client) WithOAuthToken

func (c *Client) WithOAuthToken(token string) *Client

WithOAuthToken will use an OAuth token to authenticate with the Opencloud API.

You can create a new OAuth client at: https://create.roblox.com/dashboard/credentials?activeTab=OAuthTab

type CreatorStoreProduct

type CreatorStoreProduct struct {
	Path         string                           `json:"path"`
	BasePrice    CreatorStoreProductPrice         `json:"basePrice"`
	Published    bool                             `json:"published"`
	Restrictions []CreatorStoreProductRestriction `json:"restrictions"`
	Purchasable  bool                             `json:"purchasable"`
	UserSeller   bool                             `json:"userSeller"`
	ModelAssetID string                           `json:"modelAssetId"`
}

type CreatorStoreProductCreate

type CreatorStoreProductCreate struct {
	BasePrice     *CreatorStoreProductPrice `json:"basePrice,omitempty"`
	PurchasePrice *CreatorStoreProductPrice `json:"purchasePrice,omitempty"`
	Published     *bool                     `json:"published,omitempty"`
	ModelAssetID  *string                   `json:"modelAssetId,omitempty"`
}

type CreatorStoreProductPrice

type CreatorStoreProductPrice struct {
	CurrencyCode string                      `json:"currencyCode"`
	Quantity     CreatorStoreProductQuantity `json:"quantity"`
}

type CreatorStoreProductQuantity

type CreatorStoreProductQuantity struct {
	Significand int `json:"significand"`
	Exponent    int `json:"exponent"`
}

type CreatorStoreProductRestriction

type CreatorStoreProductRestriction string
const (
	CreatorStoreProductRestrictionUnspecified                 CreatorStoreProductRestriction = "RESTRICTION_UNSPECIFIED"
	CreatorStoreProductRestrictionSoldItemRestricted          CreatorStoreProductRestriction = "SOLD_ITEM_RESTRICTED"
	CreatorStoreProductRestrictionSellerTemporarilyRestricted CreatorStoreProductRestriction = "SELLER_TEMPORARILY_RESTRICTED"
	CreatorStoreProductRestrictionSellerPermanentlyRestricted CreatorStoreProductRestriction = "SELLER_PERMANENTLY_RESTRICTED"
	CreatorStoreProductRestrictionSellerNoLongerActive        CreatorStoreProductRestriction = "SELLER_NO_LONGER_ACTIVE"
)

type CreatorStoreProductUpdate

type CreatorStoreProductUpdate struct {
	BasePrice     *CreatorStoreProductPrice `json:"basePrice,omitempty"`
	PurchasePrice *CreatorStoreProductPrice `json:"purchasePrice,omitempty"`
	Published     *bool                     `json:"published,omitempty"`
}

type DataAndMemoryStoreService

type DataAndMemoryStoreService service

DataAndMemoryStoreService will handle communciation with the actions related to the API.

Roblox Open Cloud API Docs: https://create.roblox.com/docs/en-us/cloud

func (*DataAndMemoryStoreService) CreateDataStoreEntry

func (s *DataAndMemoryStoreService) CreateDataStoreEntry(ctx context.Context, universeId, dataStoreId string, scope *string, data DataStoreEntryCreate, opts *DataStoreEntryCreateOptions) (*DataStoreEntry, *Response, error)

CreateDataStoreEntry will create a new entry for the specified datastore under a specific universe.

Required scopes: universe-datastores.objects:create

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStoreEntry#Cloud_CreateDataStoreEntry

[POST] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries

[POST] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries

func (*DataAndMemoryStoreService) CreateMemoryStoreQueueItem

func (s *DataAndMemoryStoreService) CreateMemoryStoreQueueItem(ctx context.Context, universeId, queueId string, data MemoryStoreQueueItemCreate) (*MemoryStoreQueueItem, *Response, error)

CreateMemoryStoreQueueItem will create a new item in the memory store queue for a specific universe.

Required scopes: universe.memory-store.queue:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStoreQueueItem#Cloud_CreateMemoryStoreQueueItem

[POST] /cloud/v2/universes/{universe_id}/memory-store/queues/{queue_id}/items

func (*DataAndMemoryStoreService) CreateMemoryStoreSortedMapItem

func (s *DataAndMemoryStoreService) CreateMemoryStoreSortedMapItem(ctx context.Context, universeId, sortedMapId string, data MemoryStoreSortedMapItemCreate, opts *MemoryStoreSortedMapItemCreateOptions) (*MemoryStoreSortedMapItem, *Response, error)

CreateMemoryStoreSortedMapItem will create a new item in the memory store sorted map for a specific universe.

Required scopes: universe.memory-store.sorted-map:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStoreSortedMapItem#Cloud_CreateMemoryStoreSortedMapItem

[POST] /cloud/v2/universes/{universe_id}/memory-store/sorted-maps/{sorted_map_id}/items

func (*DataAndMemoryStoreService) CreateOrderedDataStoreEntry

func (s *DataAndMemoryStoreService) CreateOrderedDataStoreEntry(ctx context.Context, universeId, orderedDataStoreId, scopeId string, data OrderedDataStoreEntryCreate, opts *OrderedDataStoreEntryCreateOptions) (*OrderedDataStoreEntry, *Response, error)

-

Required scopes: universe.ordered-data-store.scope.entry:write

Roblox Opencloud API Docs:https://create.roblox.com/docs/en-us/cloud/reference/OrderedDataStoreEntry#Cloud_CreateOrderedDataStoreEntry

[POST] /cloud/v2/universes/{universe_id}/ordered-data-stores/{ordered_data_store_id}/scopes/{scope_id}/entries

func (*DataAndMemoryStoreService) DeleteDataStoreEntry

func (s *DataAndMemoryStoreService) DeleteDataStoreEntry(ctx context.Context, universeId, datastoreId string, scope *string, entryId string) (*Response, error)

DeleteDataStoreEntry will delete a specified entry for the specified datastore under a specific universe.

Required scopes: universe-datastores.objects:delete

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStoreEntry#Cloud_DeleteDataStoreEntry

[DELETE] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

[DELETE] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}

func (*DataAndMemoryStoreService) DeleteMemoryStoreSortedMapItem

func (s *DataAndMemoryStoreService) DeleteMemoryStoreSortedMapItem(ctx context.Context, universeId, sortedMapId, itemId string) (*Response, error)

DeleteMemoryStoreSortedMapItem will delete a specific item in the memory store sorted map for a specific universe.

Required scopes: universe.memory-store.sorted-map:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStoreSortedMapItem#Cloud_DeleteMemoryStoreSortedMapItem

[DELETE] /cloud/v2/universes/{universe_id}/memory-store/sorted-maps/{sorted_map_id}/items/{item_id}

func (*DataAndMemoryStoreService) DeleteOrderedDataStoreEntry

func (s *DataAndMemoryStoreService) DeleteOrderedDataStoreEntry(ctx context.Context, universeId, orderedDataStoreId, scopeId, entryId string) (*Response, error)

-

Required scopes: universe.ordered-data-store.scope.entry:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/OrderedDataStoreEntry#Cloud_DeleteOrderedDataStoreEntry

[DELETE] /cloud/v2/universes/{universe_id}/ordered-data-stores/{ordered_data_store_id}/scopes/{scope_id}/entries/{entry_id}

func (*DataAndMemoryStoreService) DiscardMemoryStoreQueueItems

func (s *DataAndMemoryStoreService) DiscardMemoryStoreQueueItems(ctx context.Context, universeId, queueId string, data MemoryStoreQueueItemsDiscard) (*Response, error)

DiscardMemoryStoreQueueItems will discard a specific item(s) in the memory store queue for a specific universe.

Required scopes: universe.memory-store.queue:discard

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStoreQueueItem#Cloud_DiscardMemoryStoreQueueItems

[POST] /cloud/v2/universes/{universe_id}/memory-store/queues/{queue_id}/items:discard

func (*DataAndMemoryStoreService) FlushMemoryStore

func (s *DataAndMemoryStoreService) FlushMemoryStore(ctx context.Context, universeId string) (*Operation, *Response, error)

FlushMemoryStore will asynchronously flush the memory store for a specific universe.

Required scopes: universe.memory-store:flush

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStore#Cloud_FlushMemoryStore

[POST] /cloud/v2/universes/{universe_id}/memory-store:flush

func (*DataAndMemoryStoreService) GetDataStoreEntry

func (s *DataAndMemoryStoreService) GetDataStoreEntry(ctx context.Context, universeId, datastoreId string, scope *string, entryId string) (*DataStoreEntry, *Response, error)

GetDataStoreEntry will fetch a specified entry for the specified datastore under a specific universe.

Required scopes: universe-datastores.objects:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStoreEntry#Cloud_GetDataStoreEntry

[GET] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

[GET] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}

func (*DataAndMemoryStoreService) GetMemoryStoreSortedMapItem

func (s *DataAndMemoryStoreService) GetMemoryStoreSortedMapItem(ctx context.Context, universeId, sortedMapId, itemId string) (*MemoryStoreSortedMapItem, *Response, error)

GetMemoryStoreSortedMapItem will fetch a specific item in the memory store sorted map for a specific universe.

Required scopes: universe.memory-store.sorted-map:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStoreSortedMapItem#Cloud_GetMemoryStoreSortedMapItem

[GET] /cloud/v2/universes/{universe_id}/memory-store/sorted-maps/{sorted_map_id}/items/{item_id}

func (*DataAndMemoryStoreService) GetOrderedDataStoreEntry

func (s *DataAndMemoryStoreService) GetOrderedDataStoreEntry(ctx context.Context, universeId, orderedDataStoreId, scopeId, entryId string) (*OrderedDataStoreEntry, *Response, error)

-

Required scopes: universe.ordered-data-store.scope.entry:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/OrderedDataStoreEntry#Cloud_GetOrderedDataStoreEntry

[GET] /cloud/v2/universes/{universe_id}/ordered-data-stores/{ordered_data_store_id}/scopes/{scope_id}/entries/{entry_id}

func (*DataAndMemoryStoreService) IncrementDataStoreEntry

func (s *DataAndMemoryStoreService) IncrementDataStoreEntry(ctx context.Context, universeId, datastoreId string, scope *string, entryId string, data DataStoreEntryIncrement) (*DataStoreEntry, *Response, error)

IncrementDataStoreEntry will increment the value for a specified entry for the specified datastore under a specific universe.

Required scopes:

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStoreEntry#Cloud_IncrementDataStoreEntry

[POST] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:increment

[POST] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}:increment

func (*DataAndMemoryStoreService) IncrementOrderedDataStoreEntry

func (s *DataAndMemoryStoreService) IncrementOrderedDataStoreEntry(ctx context.Context, universeId, orderedDataStoreId, scopeId, entryId string, data OrderedDataStoreEntryIncrement) (*OrderedDataStoreEntry, *Response, error)

-

Required scopes: universe.ordered-data-store.scope.entry:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/OrderedDataStoreEntry#Cloud_IncrementOrderedDataStoreEntry

[POST] /cloud/v2/universes/{universe_id}/ordered-data-stores/{ordered_data_store_id}/scopes/{scope_id}/entries/{entry_id}:increment

func (*DataAndMemoryStoreService) ListDataStoreEntries

func (s *DataAndMemoryStoreService) ListDataStoreEntries(ctx context.Context, universeId, dataStoreId string, scope *string, opts *ListDataStoreEntriesOptions) (*DataStoreEntriesList, *Response, error)

ListDataStoreEntries will fetch a list of entries for a specific data store under a specific universe.

Required scopes: universe-datastores.objects:list

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStoreEntry#Cloud_ListDataStoreEntries

[GET] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries

[GET] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries

func (*DataAndMemoryStoreService) ListDataStoreEntryRevisions

func (s *DataAndMemoryStoreService) ListDataStoreEntryRevisions(ctx context.Context, universeId, datastoreId string, scope *string, entryId string, opts *Options) (*DataStoryEntryRevisionsList, *Response, error)

ListDataStoreEntryRevisions will fetch a list of revisions for a specific entry for the specified datastore under a specific universe.

Required scopes: universe-datastores.versions:list

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStoreEntry#Cloud_ListDataStoreEntryRevisions

[GET] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:listRevisions

[GET] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}:listRevisions

func (*DataAndMemoryStoreService) ListDataStores

func (s *DataAndMemoryStoreService) ListDataStores(ctx context.Context, universeId string, opts *OptionsWithFilter) (*DataStoreList, *Response, error)

ListDataStores will fetch a list of data stores for a specific universe.

Required scopes: universe-datastores.control:list

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStore#Cloud_ListDataStores

[GET] /cloud/v2/universes/{universe_id}/data-stores

func (*DataAndMemoryStoreService) ListMemoryStoreSortedMapItems

func (s *DataAndMemoryStoreService) ListMemoryStoreSortedMapItems(ctx context.Context, universeId, sortedMapId string, opts *MemoryStoreSortedMapItemListOptions) (*MemoryStoreSortedMapList, *Response, error)

ListMemoryStoreSortedMapItems will fetch a list of memory store map items for a specific sorted map under a specific universe.

Required scopes: universe.memory-store.sorted-map:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStoreSortedMapItem#Cloud_ListMemoryStoreSortedMapItems

[GET] /cloud/v2/universes/{universe_id}/memory-store/sorted-maps/{sorted_map_id}/items

func (*DataAndMemoryStoreService) ListOrderedDataStoreEntries

func (s *DataAndMemoryStoreService) ListOrderedDataStoreEntries(ctx context.Context, universeId, orderedDataStoreId, scopeId string, opts *ListOrderedDataStoreEntriesOptions) (*OrderedDataStoreEntryList, *Response, error)

-

Required scopes: universe.ordered-data-store.scope.entry:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/OrderedDataStoreEntry#Cloud_ListOrderedDataStoreEntries

[GET] /cloud/v2/universes/{universe_id}/ordered-data-stores/{ordered_data_store_id}/scopes/{scope_id}/entries

func (*DataAndMemoryStoreService) ReadMemoryStoreQueueItems

func (s *DataAndMemoryStoreService) ReadMemoryStoreQueueItems(ctx context.Context, universeId, queueId string, opts *MemoryStoreQueueItemsOptions) (*MemoryStoreQueueItems, *Response, error)

ReadMemoryStoreQueueItems will fetch specific item(s) in the memory store queue for a specific universe.

Required scopes: universe.memory-store.queue:dequeue

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStoreQueueItem#Cloud_ReadMemoryStoreQueueItems

[GET] /cloud/v2/universes/{universe_id}/memory-store/queues/{queue_id}/items:read

func (*DataAndMemoryStoreService) SnapshotDataStores

func (s *DataAndMemoryStoreService) SnapshotDataStores(ctx context.Context, universeId string) (*DataStoreSnapshot, *Response, error)

SnapshotDataStores will take a snapshot of all data stores for a specific universe. After the snapshot is taken, the next write to every key in the experience creaets a versioned backup of data.

Required scopes:

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStore#Cloud_SnapshotDataStores

[POST] /cloud/v2/universes/{universe_id}/data-stores:snapshot

func (*DataAndMemoryStoreService) UpdateDataStoreEntry

func (s *DataAndMemoryStoreService) UpdateDataStoreEntry(ctx context.Context, universeId, datastoreId string, scope *string, entryId string, data DataStoreEntryUpdate, opts *DataStoreEntryUpdateOpts) (*DataStoreEntry, *Response, error)

UpdateDataStoreEntry will update a specified entry for the specified datastore under a specific universe.

Required scopes: universe-datastores.objects:update

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/DataStoreEntry#Cloud_UpdateDataStoreEntry

[PATCH] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

[PATCH] /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}

func (*DataAndMemoryStoreService) UpdateMemoryStoreSortedMapItem

func (s *DataAndMemoryStoreService) UpdateMemoryStoreSortedMapItem(ctx context.Context, universeId, sortedMapId, itemId string, data MemoryStoreSortedMapItemUpdate, opts *MemoryStoreSortedMapItemUpdateOpts) (*MemoryStoreSortedMapItem, *Response, error)

UpdateMemoryStoreSortedMapItem will update a specific item in the memory store sorted map for a specific universe.

Required scopes: universe.memory-store.sorted-map:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/MemoryStoreSortedMapItem#Cloud_UpdateMemoryStoreSortedMapItem

[PATCH] /cloud/v2/universes/{universe_id}/memory-store/sorted-maps/{sorted_map_id}/items/{item_id}

func (*DataAndMemoryStoreService) UpdateOrderedDataStoreEntry

func (s *DataAndMemoryStoreService) UpdateOrderedDataStoreEntry(ctx context.Context, universeId, orderedDataStoreId, scopeId, entryId string, data OrderedDataStoreEntryUpdate, opts *OrderedDataStoreEntryUpdateOpts) (*OrderedDataStoreEntry, *Response, error)

-

Required scopes: universe.ordered-data-store.scope.entry:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/OrderedDataStoreEntry#Cloud_UpdateOrderedDataStoreEntry

[PATCH] /cloud/v2/universes/{universe_id}/ordered-data-stores/{ordered_data_store_id}/scopes/{scope_id}/entries/{entry_id}

type DataStore

type DataStore struct {
	Path       string `json:"path"`
	CreateTime string `json:"createTime"`
	ID         string `json:"id"`
}

type DataStoreEntriesList

type DataStoreEntriesList struct {
	DataStoreEntries []DataStoreEntry `json:"dataStoreEntries"`
	NextPageToken    string           `json:"nextPageToken"`
}

type DataStoreEntry

type DataStoreEntry struct {
	Path                 string              `json:"path"`
	CreateTime           string              `json:"createTime"`
	RevisionID           string              `json:"revisionId"`
	RevisionCreationTime string              `json:"revisionCreationTime"`
	State                DataStoreEntryState `json:"state"`
	Etag                 string              `json:"etag"`
	Value                any                 `json:"value"`
	ID                   string              `json:"id"`
	User                 string              `json:"user"`
}

type DataStoreEntryCreate

type DataStoreEntryCreate struct {
	Etag       *string         `json:"etag,omitempty"`
	Value      *any            `json:"value,omitempty"`
	Users      *[]string       `json:"users,omitempty"`
	Attributes *map[string]any `json:"attributes,omitempty"`
}

type DataStoreEntryCreateOptions

type DataStoreEntryCreateOptions struct {
	ID *string `url:"id,omitempty"`
}

type DataStoreEntryIncrement

type DataStoreEntryIncrement struct {
	Amount     *int            `json:"amount,omitempty"`
	Users      *[]string       `json:"users,omitempty"`
	Attributes *map[string]any `json:"attributes,omitempty"`
}

type DataStoreEntryState

type DataStoreEntryState string
const (
	DataStoreEntryStateUnspecified DataStoreEntryState = "STATE_UNSPECIFIED"
	DataStoreEntryStateActive      DataStoreEntryState = "ACTIVE"
	DataStoreEntryStateDeleted     DataStoreEntryState = "DELETED"
)

type DataStoreEntryUpdate

type DataStoreEntryUpdate struct {
	Etag       *string         `json:"etag,omitempty"`
	Value      *any            `json:"value,omitempty"`
	Users      *[]string       `json:"users,omitempty"`
	Attributes *map[string]any `json:"attributes,omitempty"`
}

type DataStoreEntryUpdateOpts

type DataStoreEntryUpdateOpts struct {
	AllowMissing *bool `url:"allowMissing,omitempty"`
}

type DataStoreList

type DataStoreList struct {
	DataStores    []DataStore `json:"dataStores"`
	NextPageToken string      `json:"nextPageToken"`
}

type DataStoreSnapshot

type DataStoreSnapshot struct {
	NewSnapshotTaken   bool   `json:"newSnapshotTaken"`
	LatestSnapshotTime string `json:"latestSnapshotTime"`
}

type DataStoryEntryRevisionsList

type DataStoryEntryRevisionsList struct {
	DataStoreEntries []DataStoreEntry `json:"dataStoreEntries"`
	NextPageToken    string           `json:"nextPageToken"`
}

type EngineInstance

type EngineInstance struct {
	Id     string `json:"Id"`
	Parent string `json:"Parent"`
	Name   string `json:"Name"`
}

type GameJoinRestriction

type GameJoinRestriction struct {
	Active             bool    `json:"active"`
	StartTime          string  `json:"startTime"`
	Duration           *string `json:"duration,omitempty"`
	PrivateReason      string  `json:"privateReason"`
	DisplayReason      string  `json:"displayReason"`
	ExcludeAltAccounts bool    `json:"excludeAltAccounts"`
	Inherited          bool    `json:"inherited"`
}

type GameJoinRestrictionUpdate

type GameJoinRestrictionUpdate struct {
	Active             *bool   `json:"active,omitempty"`
	Duration           *string `json:"duration,omitempty"`
	PrivateReason      *string `json:"privateReason,omitempty"`
	DisplayReason      *string `json:"displayReason,omitempty"`
	ExcludeAltAccounts *bool   `json:"excludeAltAccounts,omitempty"`
}

type Group

type Group struct {
	Path               string `json:"path"`
	CreateTime         string `json:"createTime"`
	UpdateTime         string `json:"updateTime"`
	ID                 string `json:"id"`
	DisplayName        string `json:"displayName"`
	Description        string `json:"description"`
	Owner              string `json:"owner"`
	MemberCount        int    `json:"memberCount"`
	PublicEntryAllowed bool   `json:"publicEntryAllowed"`
	Locked             bool   `json:"locked"`
	Verified           bool   `json:"verified"`
}

type GroupJoinRequest

type GroupJoinRequest struct {
	Path       string `json:"path"`
	CreateTime string `json:"createTime"`
	User       string `json:"user"`
}

type GroupJoinRequests

type GroupJoinRequests struct {
	GroupJoinRequests []GroupJoinRequest `json:"groupJoinRequests"`
	NextPageToken     string             `json:"nextPageToken"`
}

type GroupMembership

type GroupMembership struct {
	Path       string `json:"path"`
	CreateTime string `json:"createTime"`
	UpdateTime string `json:"updateTime"`
	User       string `json:"user"`
	Role       string `json:"role"`
}

type GroupMembershipUpdate

type GroupMembershipUpdate struct {
	Role *string `json:"role,omitempty"`
}

type GroupMemberships

type GroupMemberships struct {
	GroupMemberships []GroupMembership `json:"groupMemberships"`
	NextPageToken    string            `json:"nextPageToken"`
}

type GroupRole

type GroupRole struct {
	Path        string               `json:"path"`
	CreateTime  string               `json:"createTime"`
	UpdateTime  string               `json:"updateTime"`
	ID          string               `json:"id"`
	DisplayName string               `json:"displayName"`
	Description string               `json:"description"`
	Rank        int                  `json:"rank"`
	MemberCount int                  `json:"memberCount"`
	Permissions GroupRolePermissions `json:"permissions"`
}

type GroupRolePermissions

type GroupRolePermissions struct {
	ViewWallPosts         bool `json:"viewWallPosts"`
	CreateWallPosts       bool `json:"createWallPosts"`
	DeleteWallPosts       bool `json:"deleteWallPosts"`
	ViewGroupShout        bool `json:"viewGroupShout"`
	CreateGroupShout      bool `json:"createGroupShout"`
	ChangeRank            bool `json:"changeRank"`
	AcceptRequests        bool `json:"acceptRequests"`
	ExileMembers          bool `json:"exileMembers"`
	ManageRelationships   bool `json:"manageRelationships"`
	ViewAuditLog          bool `json:"viewAuditLog"`
	SpendGroupFunds       bool `json:"spendGroupFunds"`
	AdvertiseGroup        bool `json:"advertiseGroup"`
	CreateAvatarItems     bool `json:"createAvatarItems"`
	ManageAvatarItems     bool `json:"manageAvatarItems"`
	ManageGroupUniverses  bool `json:"manageGroupUniverses"`
	ViewUniverseAnalytics bool `json:"viewUniverseAnalytics"`
	CreateAPIKeys         bool `json:"createApiKeys"`
	ManageAPIKeys         bool `json:"manageApiKeys"`
	BanMembers            bool `json:"banMembers"`
	ViewForums            bool `json:"viewForums"`
	ManageCategories      bool `json:"manageCategories"`
	CreatePosts           bool `json:"createPosts"`
	LockPosts             bool `json:"lockPosts"`
	PinPosts              bool `json:"pinPosts"`
	RemovePosts           bool `json:"removePosts"`
	CreateComments        bool `json:"createComments"`
	RemoveComments        bool `json:"removeComments"`
}

type GroupRoles

type GroupRoles struct {
	GroupRoles    []GroupRole `json:"groupRoles"`
	NextPageToken string      `json:"nextPageToken"`
}

type GroupShout

type GroupShout struct {
	Path       string `json:"path"`
	CreateTime string `json:"createTime"`
	UpdateTime string `json:"updateTime"`
	Content    string `json:"content"`
	Poster     string `json:"poster"`
}

type Instance

type Instance struct {
	Path           string         `json:"path"`
	HasChildren    bool           `json:"hasChildren"`
	EngineInstance EngineInstance `json:"engineInstance"`
}

type InstanceChildren

type InstanceChildren struct {
	Instances     []Instance `json:"instances"`
	NextPageToken string     `json:"nextPageToken"`
}

type InstanceDetails

type InstanceDetails struct {
	Folder       *InstanceFolder       `json:"Folder"`
	LocalScript  *InstanceLocalScript  `json:"LocalScript"`
	ModuleScript *InstanceModuleScript `json:"ModuleScript"`
	Script       *InstanceScript       `json:"Script"`
}

type InstanceFolder

type InstanceFolder any

type InstanceLocalScript

type InstanceLocalScript struct {
	Enabled    bool               `json:"Enabled"`
	RunContext InstanceRunContext `json:"RunContext"`
	Source     string             `json:"Source"`
}

type InstanceModuleScript

type InstanceModuleScript struct {
	Source string `json:"Source"`
}

type InstanceRunContext

type InstanceRunContext string
const (
	InstanceRunContextLegacy InstanceRunContext = "Legacy"
	InstanceRunContextServer InstanceRunContext = "Server"
	InstanceRunContextClient InstanceRunContext = "Client"
	InstanceRunContextPlugin InstanceRunContext = "Plugin"
)

type InstanceScript

type InstanceScript struct {
	Enabled    bool               `json:"Enabled"`
	RunContext InstanceRunContext `json:"RunContext"`
	Source     string             `json:"Source"`
}

type InventoryItem

type InventoryItem struct {
	Path                 string                             `json:"path"`
	AssetDetails         *InventoryItemAssetDetails         `json:"assetDetails"`
	BadgeDetails         *InventoryItemBadgeDetils          `json:"badgeDetails"`
	GamePassDetails      *InventoryItemGamePassDetails      `json:"gamePassDetails"`
	PrivateServerDetails *InventoryItemPrivateServerDetails `json:"privateServerDetails"`
	AddTime              string                             `json:"addTime"`
}

type InventoryItemAssetDetails

type InventoryItemAssetDetails struct {
	AssetID                string                          `json:"assetId"`
	InventoryItemAssetType InventoryItemAssetType          `json:"inventoryItemAssetType"`
	InstanceID             string                          `json:"instanceId"`
	CollectibleDetails     InventoryItemCollectibleDetails `json:"collectibleDetails"`
}

type InventoryItemAssetType

type InventoryItemAssetType string
const (
	InventoryItemAssetTypeUnspecified InventoryItemAssetType = "INVENTORY_ITEM_ASSET_TYPE_UNSPECIFIED"
	ClassicTShirt                     InventoryItemAssetType = "CLASSIC_TSHIRT"
	Audio                             InventoryItemAssetType = "AUDIO"
	Hat                               InventoryItemAssetType = "HAT"
	Model                             InventoryItemAssetType = "MODEL"
	ClassicShirt                      InventoryItemAssetType = "CLASSIC_SHIRT"
	ClassicPants                      InventoryItemAssetType = "CLASSIC_PANTS"
	Decal                             InventoryItemAssetType = "DECAL"
	ClassicHead                       InventoryItemAssetType = "CLASSIC_HEAD"
	Face                              InventoryItemAssetType = "FACE"
	Gear                              InventoryItemAssetType = "GEAR"
	Animation                         InventoryItemAssetType = "ANIMATION"
	Torso                             InventoryItemAssetType = "TORSO"
	RightArm                          InventoryItemAssetType = "RIGHT_ARM"
	LeftArm                           InventoryItemAssetType = "LEFT_ARM"
	LeftLeg                           InventoryItemAssetType = "LEFT_LEG"
	RightLeg                          InventoryItemAssetType = "RIGHT_LEG"
	Package                           InventoryItemAssetType = "PACKAGE"
	Plugin                            InventoryItemAssetType = "PLUGIN"
	MeshPart                          InventoryItemAssetType = "MESH_PART"
	HairAccessory                     InventoryItemAssetType = "HAIR_ACCESSORY"
	FaceAccessory                     InventoryItemAssetType = "FACE_ACCESSORY"
	NeckAccessory                     InventoryItemAssetType = "NECK_ACCESSORY"
	ShoulderAccessory                 InventoryItemAssetType = "SHOULDER_ACCESSORY"
	FrontAccessory                    InventoryItemAssetType = "FRONT_ACCESSORY"
	BackAccessory                     InventoryItemAssetType = "BACK_ACCESSORY"
	WaistAccessory                    InventoryItemAssetType = "WAIST_ACCESSORY"
	ClimbAnimation                    InventoryItemAssetType = "CLIMB_ANIMATION"
	DeathAnimation                    InventoryItemAssetType = "DEATH_ANIMATION"
	FallAnimation                     InventoryItemAssetType = "FALL_ANIMATION"
	IdleAnimation                     InventoryItemAssetType = "IDLE_ANIMATION"
	JumpAnimation                     InventoryItemAssetType = "JUMP_ANIMATION"
	RunAnimation                      InventoryItemAssetType = "RUN_ANIMATION"
	SwimAnimation                     InventoryItemAssetType = "SWIM_ANIMATION"
	WalkAnimation                     InventoryItemAssetType = "WALK_ANIMATION"
	PoseAnimation                     InventoryItemAssetType = "POSE_ANIMATION"
	EmoteAnimation                    InventoryItemAssetType = "EMOTE_ANIMATION"
	Video                             InventoryItemAssetType = "VIDEO"
	TShirtAccessory                   InventoryItemAssetType = "TSHIRT_ACCESSORY"
	ShirtAccessory                    InventoryItemAssetType = "SHIRT_ACCESSORY"
	PantsAccessory                    InventoryItemAssetType = "PANTS_ACCESSORY"
	JacketAccessory                   InventoryItemAssetType = "JACKET_ACCESSORY"
	SweaterAccessory                  InventoryItemAssetType = "SWEATER_ACCESSORY"
	ShortsAccessory                   InventoryItemAssetType = "SHORTS_ACCESSORY"
	LeftShoeAccessory                 InventoryItemAssetType = "LEFT_SHOE_ACCESSORY"
	RightShoeAccessory                InventoryItemAssetType = "RIGHT_SHOE_ACCESSORY"
	DressSkirtAccessory               InventoryItemAssetType = "DRESS_SKIRT_ACCESSORY"
	EyebrowAccessory                  InventoryItemAssetType = "EYEBROW_ACCESSORY"
	EyelashAccessory                  InventoryItemAssetType = "EYELASH_ACCESSORY"
	MoodAnimation                     InventoryItemAssetType = "MOOD_ANIMATION"
	DynamicHead                       InventoryItemAssetType = "DYNAMIC_HEAD"
	CreatedPlace                      InventoryItemAssetType = "CREATED_PLACE"
	PurchasedPlace                    InventoryItemAssetType = "PURCHASED_PLACE"
)

type InventoryItemBadgeDetils

type InventoryItemBadgeDetils struct {
	BadgeID string `json:"badgeId"`
}

type InventoryItemCollectibleDetails

type InventoryItemCollectibleDetails struct {
	ItemID        string                     `json:"itemId"`
	InstanceID    string                     `json:"instanceId"`
	InstanceState InventoryItemInstanceState `json:"instanceState"`
	SerialNumber  int                        `json:"serialNumber"`
}

type InventoryItemGamePassDetails

type InventoryItemGamePassDetails struct {
	GamePassID string `json:"gamePassId"`
}

type InventoryItemInstanceState

type InventoryItemInstanceState string
const (
	InventoryItemInstanceStateUnspecified InventoryItemInstanceState = "COLLECTIBLE_ITEM_INSTANCE_STATE_UNSPECIFIED"
	InventoryItemInstanceStateAvailable   InventoryItemInstanceState = "AVAILABLE"
	InventoryItemInstanceStateHold        InventoryItemInstanceState = "HOLD"
)

type InventoryItemPrivateServerDetails

type InventoryItemPrivateServerDetails struct {
	PrivateServerID string `json:"privateServerId"`
}

type InventoryItems

type InventoryItems struct {
	InventoryItems []InventoryItem `json:"inventoryItems"`
	NextPageToken  string          `json:"nextPageToken"`
}

type ListDataStoreEntriesOptions

type ListDataStoreEntriesOptions struct {
	MaxPageSize *int    `url:"maxPageSize,omitempty"`
	PageToken   *string `url:"pageToken,omitempty"`
	Filter      *string `url:"filter,omitempty"`
	ShowDeleted *bool   `url:"showDeleted,omitempty"`
}

type ListOrderedDataStoreEntriesOptions

type ListOrderedDataStoreEntriesOptions struct {
	MaxPageSize *int    `url:"maxPageSize,omitempty"`
	PageToken   *string `url:"pageToken,omitempty"`
	OrderBy     *string `url:"orderBy,omitempty"`
	Filter      *string `url:"filter,omitempty"`
}

type LuauExecutionErrorCode

type LuauExecutionErrorCode string
const (
	LuauExecutionErrorCodeUnspecified             LuauExecutionErrorCode = "ERROR_CODE_UNSPECIFIED"
	LuauExecutionErrorCodeScriptError             LuauExecutionErrorCode = "SCRIPT_ERROR"
	LuauExecutionErrorCodeDeadlineExceeded        LuauExecutionErrorCode = "DEADLINE_EXCEEDED"
	LuauExecutionErrorCodeOutputSizeLimitExceeded LuauExecutionErrorCode = "OUTPUT_SIZE_LIMIT_EXCEEDED"
	LuauExecutionErrorCodeInternalError           LuauExecutionErrorCode = "INTERNAL_ERROR"
)

type LuauExecutionService

type LuauExecutionService struct {
	// contains filtered or unexported fields
}

LuauExecutionService will handle communciation with the actions related to the API.

Roblox Open Cloud API Docs: https://create.roblox.com/docs/en-us/cloud

func (*LuauExecutionService) CreateLuauExecutionSessionTask

func (s *LuauExecutionService) CreateLuauExecutionSessionTask(ctx context.Context, universeId, placeId string, versionId *string, data LuauExecutionTaskCreate) (*LuauExecutionTask, *Response, error)

CreateLuauExecutionSessionTask will execute a Luau script on a specific place. If a versionId is provided, the code will be executed on that version of the place.

Required scopes: universe.place.luau-execution-session:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/LuauExecutionSessionTask#Cloud_CreateLuauExecutionSessionTask

[POST] /cloud/v2/universes/{universe_id}/places/{place_id}/luau-execution-session-tasks

[POST] /cloud/v2/universes/{universe_id}/places/{place_id}/luau-execution-session-tasks/{version_id}

func (*LuauExecutionService) CreateLuauExecutionSessionTaskBinaryInput

func (s *LuauExecutionService) CreateLuauExecutionSessionTaskBinaryInput(ctx context.Context, universeId string, data LuauExecutionSessionTaskBinaryInputCreate) (*LuauExecutionSessionTaskBinaryInput, *Response, error)

CreateLuauExecutionSessionTaskBinaryInput will create a new binary input that can be used in a task.

Required scopes: universe.place.luau-execution-session:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/LuauExecutionSessionTaskBinaryInput#Cloud_CreateLuauExecutionSessionTaskBinaryInput

[POST] /cloud/v2/universes/{universe_id}/luau-execution-session-task-binary-inputs

func (*LuauExecutionService) GetLuauExecutionSessionTask

func (s *LuauExecutionService) GetLuauExecutionSessionTask(ctx context.Context, universeId, placeId string, versionId, sessionId *string, taskId string) (*LuauExecutionTask, *Response, error)

GetLuauExecutionSessionTask will fetch the executed Luau task.

Required scopes:

- universe.place.luau-execution-session:read

- universe.place.luau-execution-session:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/LuauExecutionSessionTask#Cloud_GetLuauExecutionSessionTask

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/luau-execution-tasks/{task_id}

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/versions/{version_id}/luau-execution-tasks/{task_id}

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/luau-execution-sessions/{session_id}/tasks/{task_id}

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/versions/{version_id}/luau-execution-sessions/{session_id}/tasks/{task_id}

func (*LuauExecutionService) ListLuauExecutionSessionTaskLogs

func (s *LuauExecutionService) ListLuauExecutionSessionTaskLogs(ctx context.Context, universeId, placeId string, versionId, sessionId *string, taskId string, opts *Options) (*LuauExecutionTaskLogs, *Response, error)

ListLuauExecutionSessionTaskLogs will list log chunks generated from a specific Luau task.

Required scopes:

- universe.place.luau-execution-session:read

- universe.place.luau-execution-session:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/LuauExecutionSessionTaskLog#Cloud_ListLuauExecutionSessionTaskLogs

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/luau-execution-tasks/{task_id}/logs

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/versions/{version_id}/luau-execution-tasks/{task_id}/logs

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/luau-execution-sessions/{session_id}/tasks/{task_id}/logs

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/versions/{version_id}/luau-execution-sessions/{session_id}/tasks/{task_id}/logs

func (*LuauExecutionService) UploadLuauExecutionSessionTaskBinaryInput

func (s *LuauExecutionService) UploadLuauExecutionSessionTaskBinaryInput(ctx context.Context, url string, data []byte) (*Response, error)

UploadLuauExecutionSessionTaskBinaryInput will upload the binary input to the provided URL. This method will call a provided url, which should be the UploadUri for the created binary input.

Required scopes: none.

Roblox Opencloud API Docs: unavailable.

[PUT] {url}

type LuauExecutionSessionTaskBinaryInput

type LuauExecutionSessionTaskBinaryInput struct {
	Path      string `json:"path"`
	Size      int    `json:"size"`
	UploadURI string `json:"uploadUri"`
}

type LuauExecutionSessionTaskBinaryInputCreate

type LuauExecutionSessionTaskBinaryInputCreate struct {
	Size *int `json:"size,omitempty"`
}

type LuauExecutionState

type LuauExecutionState string
const (
	LuauExecutionStateUnspecified LuauExecutionState = "STATE_UNSPECIFIED"
	LuauExecutionStateQueued      LuauExecutionState = "QUEUED"
	LuauExecutionStateProcessing  LuauExecutionState = "PROCESSING"
	LuauExecutionStateCancelled   LuauExecutionState = "CANCELLED"
	LuauExecutionStateComplete    LuauExecutionState = "COMPLETE"
	LuauExecutionStateFailed      LuauExecutionState = "FAILED"
)

type LuauExecutionTask

type LuauExecutionTask struct {
	Path               string                   `json:"path"`
	CreateTime         string                   `json:"createTime"`
	UpdateTime         string                   `json:"updateTime"`
	User               string                   `json:"user"`
	State              LuauExecutionState       `json:"state"`
	Script             string                   `json:"script"`
	Timeout            string                   `json:"timeout"`
	Error              *LuauExecutionTaskError  `json:"error,omitempty"`
	Output             *LuauExecutionTaskOutput `json:"output,omitempty"`
	BinaryInput        string                   `json:"binaryInput"`
	EnableBinaryOutput bool                     `json:"enableBinaryOutput"`
	BinaryOutputURI    string                   `json:"binaryOutputUri"`
}

func (*LuauExecutionTask) BinaryOutput

func (t *LuauExecutionTask) BinaryOutput(ctx context.Context) ([]byte, error)

Fetch the binary output, if enabled, from the task.

func (*LuauExecutionTask) TaskInfo

func (t *LuauExecutionTask) TaskInfo() (universeId, placeId string, versionId, sessionId *string, taskId string)

TaskInfo will return information from the URL path for the task. This is useful for GetLuauExecutionSessionTask when polling the method.

universeId, placeId, and taskId will always be present. versionId and sessionId may or may not be nil.

type LuauExecutionTaskCreate

type LuauExecutionTaskCreate struct {
	Script             *string `json:"script,omitempty"`
	Timeout            *string `json:"timeout,omitempty"`
	BinaryInput        *string `json:"binaryInput,omitempty"`
	EnableBinaryOutput *bool   `json:"enableBinaryOutput,omitempty"`
}

type LuauExecutionTaskError

type LuauExecutionTaskError struct {
	Code    LuauExecutionErrorCode `json:"code"`
	Message string                 `json:"message"`
}

type LuauExecutionTaskLog

type LuauExecutionTaskLog struct {
	Path    string   `json:"path"`
	Mesages []string `json:"messages"`
}

type LuauExecutionTaskLogStructuredMessage

type LuauExecutionTaskLogStructuredMessage struct {
	Message     string                `json:"message"`
	CreateTime  string                `json:"createTime"`
	MessageType StructuredMessageType `json:"messageType"`
}

type LuauExecutionTaskLogs

type LuauExecutionTaskLogs struct {
	LuauExecutionSessionTaskLogs []LuauExecutionTaskLog `json:"luauExecutionSessionTaskLogs"`
	NextPageToken                string                 `json:"nextPageToken"`
}

type LuauExecutionTaskOutput

type LuauExecutionTaskOutput struct {
	Results []any `json:"results"`
}

type MemoryStoreQueueItem

type MemoryStoreQueueItem struct {
	Path       string `json:"path"`
	Data       any    `json:"data"`
	Priority   int    `json:"priority"`
	ExpireTime string `json:"expireTime"`
	ID         string `json:"id"`
}

type MemoryStoreQueueItemCreate

type MemoryStoreQueueItemCreate struct {
	Data     *any    `json:"data,omitempty"`
	Priority *int    `json:"priority,omitempty"`
	TTL      *string `json:"ttl,omitempty"`
}

type MemoryStoreQueueItems

type MemoryStoreQueueItems struct {
	ReadID string                 `json:"readId"`
	Items  []MemoryStoreQueueItem `json:"items"`
}

type MemoryStoreQueueItemsDiscard

type MemoryStoreQueueItemsDiscard struct {
	ReadID string `json:"readId"`
}

type MemoryStoreQueueItemsOptions

type MemoryStoreQueueItemsOptions struct {
	Count              *int    `url:"count,omitempty"`
	AllOrNothing       *bool   `url:"allOrNothing,omitempty"`
	InvisibilityWindow *string `url:"invisibilityWindow,omitempty"`
}

type MemoryStoreSortedMapItem

type MemoryStoreSortedMapItem struct {
	Path           string  `json:"path"`
	Value          any     `json:"value"`
	Etag           string  `json:"etag"`
	ID             string  `json:"id"`
	StringSortKey  *string `json:"stringSortKey,omitempty"`
	NumericSortKey *int    `json:"numericSortKey,omitempty"`
}

type MemoryStoreSortedMapItemCreate

type MemoryStoreSortedMapItemCreate struct {
	Value         *any    `json:"value,omitempty"`
	TTL           *string `json:"ttl,omitempty"`
	ID            *string `json:"id,omitempty"`
	StringSortKey *string `json:"stringSortKey,omitempty"`
}

type MemoryStoreSortedMapItemCreateOptions

type MemoryStoreSortedMapItemCreateOptions struct {
	ID string `url:"id,omitempty"`
}

type MemoryStoreSortedMapItemListOptions

type MemoryStoreSortedMapItemListOptions struct {
	MaxPageSize *int    `url:"maxPageSize,omitempty"`
	PageToken   *string `url:"pageToken,omitempty"`
	Filter      *string `url:"filter,omitempty"`
	OrderBy     *string `url:"orderBy,omitempty"`
}

type MemoryStoreSortedMapItemUpdate

type MemoryStoreSortedMapItemUpdate struct {
	Value         *any    `json:"value,omitempty"`
	TTL           *string `json:"ttl,omitempty"`
	ID            *string `json:"id,omitempty"`
	StringSortKey *string `json:"stringSortKey,omitempty"`
}

type MemoryStoreSortedMapItemUpdateOpts

type MemoryStoreSortedMapItemUpdateOpts struct {
	ID string `url:"id,omitempty"`
}

type MemoryStoreSortedMapList

type MemoryStoreSortedMapList struct {
	MemoryStoreSortedMapItems []MemoryStoreSortedMapItem `json:"memoryStoreSortedMapItems"`
	NextPageToken             string                     `json:"nextPageToken"`
}

type MonetizationService

type MonetizationService service

MonetizationService will handle communciation with the actions related to the API.

Roblox Open Cloud API Docs: https://create.roblox.com/docs/en-us/cloud

func (*MonetizationService) CreateCreatorStoreProduct

func (s *MonetizationService) CreateCreatorStoreProduct(ctx context.Context, data CreatorStoreProductCreate) (*CreatorStoreProduct, *Response, error)

CreateCreatorStoreProduct will create a new store product on the creator store.

Required scopes: creator-store-product:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/CreatorStoreProduct#Cloud_CreateCreatorStoreProduct

[POST] /cloud/v2/creator-store-products

func (*MonetizationService) GetCreatorStoreProduct

func (s *MonetizationService) GetCreatorStoreProduct(ctx context.Context, productId string) (*CreatorStoreProduct, *Response, error)

GetCreatorStoreProduct will fetch information on a specificed store product.

Required scopes: creator-store-product:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/CreatorStoreProduct#Cloud_GetCreatorStoreProduct

[GET] /cloud/v2/creator-store-products/{product_id}

func (*MonetizationService) GetSubscription

func (s *MonetizationService) GetSubscription(ctx context.Context, universeId, productId, subscriptionId string, opts *SubscriptionOpts) (*Subscription, *Response, error)

GetSubscription will fetch information on a specificed subscription.

Required scopes:

- universe:write

- universe:writeuniverse.subscription-product.subscription:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Subscription#Cloud_GetSubscription

[GET] /cloud/v2/universes/{universe_id}/subscription-products/{product_id}/subscriptions/{subscription_id}

func (*MonetizationService) UpdateCreatorStoreProduct

func (s *MonetizationService) UpdateCreatorStoreProduct(ctx context.Context, productId string, data CreatorStoreProductUpdate) (*CreatorStoreProduct, *Response, error)

UpdateCreatorStoreProduct will update information for a specificed store product.

Required scopes: creator-store-product:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/CreatorStoreProduct#Cloud_UpdateCreatorStoreProduct

[PATCH] /cloud/v2/creator-store-products/{product_id}

type OAuthRoundTripper

type OAuthRoundTripper struct {
	OAuthToken string
	Transport  http.RoundTripper
}

func (*OAuthRoundTripper) RoundTrip

func (c *OAuthRoundTripper) RoundTrip(req *http.Request) (*http.Response, error)

type Operation

type Operation struct {
	Path     string            `json:"path"`
	Done     bool              `json:"done"`
	Error    *OperationError   `json:"error,omitempty"`
	Response OperationResponse `json:"response"`
	Metadata OperationMetadata `json:"metadata"`
}

type OperationError

type OperationError any

type OperationMetadata

type OperationMetadata any

type OperationResponse

type OperationResponse any

type Options

type Options struct {
	MaxPageSize *int    `url:"maxPageSize,omitempty"`
	PageToken   *string `url:"pageToken,omitempty"`
}

type OptionsWithFilter

type OptionsWithFilter struct {
	MaxPageSize *int    `url:"maxPageSize,omitempty"`
	PageToken   *string `url:"pageToken,omitempty"`
	Filter      *string `url:"filter,omitempty"`
}

type OrderedDataStoreEntry

type OrderedDataStoreEntry struct {
	Path  string `json:"path"`
	Value int    `json:"value"`
	ID    string `json:"id"`
}

type OrderedDataStoreEntryCreate

type OrderedDataStoreEntryCreate struct {
	Value *int `json:"value,omitempty"`
}

type OrderedDataStoreEntryCreateOptions

type OrderedDataStoreEntryCreateOptions struct {
	ID *string `url:"id,omitempty"`
}

type OrderedDataStoreEntryIncrement

type OrderedDataStoreEntryIncrement struct {
	Amount *int `json:"amount,omitempty"`
}

type OrderedDataStoreEntryList

type OrderedDataStoreEntryList struct {
	OrderedDataStoreEntries []OrderedDataStoreEntry `json:"orderedDataStoreEntries"`
	NextPageToken           string                  `json:"nextPageToken"`
}

type OrderedDataStoreEntryUpdate

type OrderedDataStoreEntryUpdate struct {
	Value *int `json:"value,omitempty"`
}

type OrderedDataStoreEntryUpdateOpts

type OrderedDataStoreEntryUpdateOpts struct {
	AllowMissing *bool `url:"allowMissing,omitempty"`
}

type Place

type Place struct {
	Path        string `json:"path"`
	CreateTime  string `json:"createTime"`
	UpdateTime  string `json:"updateTime"`
	DisplayName string `json:"displayName"`
	Description string `json:"description"`
	ServerSize  int    `json:"serverSize"`
}

type PlaceUpdate

type PlaceUpdate struct {
	DisplayName *string `json:"displayName,omitempty"`
	Description *string `json:"description,omitempty"`
	ServerSize  *int    `json:"serverSize,omitempty"`
}

type PlaceUpdateOptions

type PlaceUpdateOptions struct {
	UpdateMask *string `url:"updateMask,omitempty"`
}

type QuotaPeriod

type QuotaPeriod string
const (
	QuotaPeriodUnspecified QuotaPeriod = "PERIOD_UNSPECIFIED"
	QuotaPeriodMonth       QuotaPeriod = "MONTH"
	QuotaPeriodDay         QuotaPeriod = "DAY"
)

type QuotaType

type QuotaType string
const (
	QuotaTypeUnspecified                     QuotaType = "QUOTA_TYPE_UNSPECIFIED"
	QuotaTypeRateLimitUpload                 QuotaType = "RATE_LIMIT_UPLOAD"
	QuotaTypeRateLimitCreatorStoreDistribute QuotaType = "RATE_LIMIT_CREATOR_STORE_DISTRIBUTE"
)

type Response

type Response struct {
	*http.Response
}

type StructuredMessageType

type StructuredMessageType string
const (
	StructuredMessageTypeUnspecified StructuredMessageType = "MESSAGE_TYPE_UNSPECIFIED"
	StructuredMessageTypeOutput      StructuredMessageType = "OUTPUT"
	StructuredMessageTypeInfo        StructuredMessageType = "INFO"
	StructuredMessageTypeWarning     StructuredMessageType = "WARNING"
	StructuredMessageTypeError       StructuredMessageType = "ERROR"
)

type Subscription

type Subscription struct {
	Path              string                        `json:"path"`
	CreateTime        string                        `json:"createTime"`
	UpdateTime        string                        `json:"updateTime"`
	Active            bool                          `json:"active"`
	WillRenew         bool                          `json:"willRenew"`
	LastBillingTime   string                        `json:"lastBillingTime"`
	NextRenewTime     string                        `json:"nextRenewTime"`
	ExpireTime        string                        `json:"expireTime"`
	State             SubscriptionState             `json:"state"`
	ExpirationDetails SubscriptionExpirationDetails `json:"expirationDetails"`
	PurchasePlatform  SubscriptionPurchasePlatform  `json:"purchasePlatform"`
	PaymentProvider   SubscriptionPaymentProvider   `json:"paymentProvider"`
	User              string                        `json:"user"`
}

type SubscriptionExpirationDetails

type SubscriptionExpirationDetails struct {
	Reason SubscriptionExpirationReason `json:"reason"`
}

type SubscriptionExpirationReason

type SubscriptionExpirationReason string
const (
	SubscriptionExpirationReasonUnspecified         SubscriptionExpirationReason = "EXPIRATION_REASON_UNSPECIFIED"
	SubscriptionExpirationReasonProductInactive     SubscriptionExpirationReason = "PRODUCT_INACTIVE"
	SubscriptionExpirationReasonProductDeleted      SubscriptionExpirationReason = "PRODUCT_DELETED"
	SubscriptionExpirationReasonSubscriberCancelled SubscriptionExpirationReason = "SUBSCRIBER_CANCELLED"
	SubscriptionExpirationReasonSubscriberRefunded  SubscriptionExpirationReason = "SUBSCRIBER_REFUNDED"
	SubscriptionExpirationReasonLapsed              SubscriptionExpirationReason = "LAPSED"
)

type SubscriptionOpts

type SubscriptionOpts struct {
	View *SubscriptionView `url:"view,omitempty"`
}

type SubscriptionPaymentProvider

type SubscriptionPaymentProvider string
const (
	SubscriptionPaymentProviderUnspecified  SubscriptionPaymentProvider = "PAYMENT_PROVIDER_UNSPECIFIED"
	SubscriptionPaymentProviderStripe       SubscriptionPaymentProvider = "STRIPE"
	SubscriptionPaymentProviderApple        SubscriptionPaymentProvider = "APPLE"
	SubscriptionPaymentProviderGoogle       SubscriptionPaymentProvider = "GOOGLE"
	SubscriptionPaymentProviderRobloxCredit SubscriptionPaymentProvider = "ROBLOX_CREDIT"
)

type SubscriptionPurchasePlatform

type SubscriptionPurchasePlatform string
const (
	SubscriptionPurchasePlatformUnspecified SubscriptionPurchasePlatform = "PURCHASE_PLATFORM_UNSPECIFIED"
	SubscriptionPurchasePlatformDesktop     SubscriptionPurchasePlatform = "DESKTOP"
	SubscriptionPurchasePlatformMobile      SubscriptionPurchasePlatform = "MOBILE"
)

type SubscriptionState

type SubscriptionState string
const (
	SubscriptionStateUnspecified                     SubscriptionState = "STATE_UNSPECIFIED"
	SubscriptionStateSubscribedWillRenew             SubscriptionState = "SUBSCRIBED_WILL_RENEW"
	SubscriptionStateSubscribedWillNotRenew          SubscriptionState = "SUBSCRIBED_WILL_NOT_RENEW"
	SubscriptionStateSubscribedRenewalPaymentPending SubscriptionState = "SUBSCRIBED_RENEWAL_PAYMENT_PENDING"
	SubscriptionStateExpired                         SubscriptionState = "EXPIRED"
)

type SubscriptionView

type SubscriptionView string
const (
	SubscriptionViewUnspecified SubscriptionView = "VIEW_UNSPECIFIED"
	SubscriptionViewBasic       SubscriptionView = "BASIC"
	SubscriptionViewFull        SubscriptionView = "FULL"
)

type Universe

type Universe struct {
	Path                    string             `json:"path"`
	CreateTime              string             `json:"createTime"`
	UpdateTime              string             `json:"updateTime"`
	DisplayName             string             `json:"displayName"`
	Description             string             `json:"description"`
	User                    *string            `json:"user"`
	Group                   *string            `json:"group"`
	Visibility              UniverseVisibility `json:"visibility"`
	FacebookSocialLink      UniverseSocialLink `json:"facebookSocialLink"`
	TwitterSocialLink       UniverseSocialLink `json:"twitterSocialLink"`
	YoutubeSocialLink       UniverseSocialLink `json:"youtubeSocialLink"`
	TwitchSocialLink        UniverseSocialLink `json:"twitchSocialLink"`
	DiscordSocialLink       UniverseSocialLink `json:"discordSocialLink"`
	RobloxGroupSocialLink   UniverseSocialLink `json:"robloxgroupSocialLink"`
	GuildedSocialLink       UniverseSocialLink `json:"guildedSocialLink"`
	VoiceChatEnabled        bool               `json:"voiceChatEnabled"`
	AgeRating               UniverseAgeRating  `json:"ageRating"`
	PrivateServerPriceRobux int                `json:"privateServerPriceRobux"`
	DesktopEnabled          bool               `json:"desktopEnabled"`
	MobileEnabled           bool               `json:"mobileEnabled"`
	TabletEnabled           bool               `json:"tabletEnabled"`
	ConsoleEnabled          bool               `json:"consoleEnabled"`
	VREnabled               bool               `json:"vrEnabled"`
}

type UniverseAgeRating

type UniverseAgeRating string
const (
	UniverseAgeRatingUnspecified UniverseAgeRating = "AGE_RATING_UNSPECIFIED"
	UniverseAgeRatingAll         UniverseAgeRating = "AGE_RATING_ALL"
	UniverseAgeRating9Plus       UniverseAgeRating = "AGE_RATING_9_PLUS"
	UniverseAgeRating13Plus      UniverseAgeRating = "AGE_RATING_13_PLUS"
	UniverseAgeRating17Plus      UniverseAgeRating = "AGE_RATING_17_PLUS"
)

type UniverseAndPlacesService

type UniverseAndPlacesService service

UniverseAndPlacesService will handle communciation with the actions related to the API.

Roblox Open Cloud API Docs: https://create.roblox.com/docs/en-us/cloud

func (*UniverseAndPlacesService) GetInstance

func (s *UniverseAndPlacesService) GetInstance(ctx context.Context, universeId, placeId, instanceId string) (*Instance, *Response, error)

GetInstance will fetch an instance's property data.

Required scopes: universe.place.instance:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Instance#Cloud_GetInstance

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/instances/{instance_id}

func (*UniverseAndPlacesService) GetPlace

func (s *UniverseAndPlacesService) GetPlace(ctx context.Context, universeId, placeId string) (*Place, *Response, error)

GetPlace will get information on a specified place.

Required scopes: none

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Place#Cloud_GetPlace

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}

func (*UniverseAndPlacesService) GetUniverse

func (s *UniverseAndPlacesService) GetUniverse(ctx context.Context, universeId string) (*Universe, *Response, error)

GetUniverse will fetch information on a specified universe.

Required scopes: none

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Universe#Cloud_GetUniverse

[GET] /cloud/v2/universes/{universe_id}

func (*UniverseAndPlacesService) ListInstanceChildren

func (s *UniverseAndPlacesService) ListInstanceChildren(ctx context.Context, universeId, placeId, instanceId string, opts *Options) (*InstanceChildren, *Response, error)

ListInstanceChildren will list and instance's children.

Required scopes: universe.place.instance:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Instance#Cloud_ListInstanceChildren

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/instances/{instance_id}:listChildren

func (*UniverseAndPlacesService) PublishUniverseMessage

func (s *UniverseAndPlacesService) PublishUniverseMessage(ctx context.Context, universeId string, data UniverseMessage) (*Response, error)

PublishUniverseMessage will publish a message to all of the universe's live servers.

Required scopes: universe-messaging-service:publish

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Universe#Cloud_PublishUniverseMessage

[POST] /cloud/v2/universes/{universe_id}:publishMessage

func (*UniverseAndPlacesService) RestartUniverseServers

func (s *UniverseAndPlacesService) RestartUniverseServers(ctx context.Context, universeId string) (*Response, error)

RestartUniverseServers will restart all active servers for a specific universe ONLY if a new version of the experience has been published.

Required scopes: universe:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Universe#Cloud_RestartUniverseServers

[POST] /cloud/v2/universes/{universe_id}:restartServers

func (*UniverseAndPlacesService) UpdateInstance

func (s *UniverseAndPlacesService) UpdateInstance() error

UpdateInstance will update an instance's property data.

Required scopes: universe.place.instance:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Instance#Cloud_UpdateInstance

[PATCH] /cloud/v2/universes/{universe_id}/places/{place_id}/instances/{instance_id}

func (*UniverseAndPlacesService) UpdatePlace

func (s *UniverseAndPlacesService) UpdatePlace(ctx context.Context, universeId, placeId string, data PlaceUpdate, opts *PlaceUpdateOptions) (*Place, *Response, error)

UpdatePlace will update information for a specified place.

Required scopes: universe.place:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Place#Cloud_UpdatePlace

[PATCH] /cloud/v2/universes/{universe_id}/places/{place_id}

func (*UniverseAndPlacesService) UpdateUniverse

func (s *UniverseAndPlacesService) UpdateUniverse(ctx context.Context, universeId string, data UniverseUpdate) (*Universe, *Response, error)

UpdateUniverse will update information for a specified universe.

Required scopes: universe:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Universe#Cloud_UpdateUniverse

[PATCH] /cloud/v2/universes/{universe_id}

type UniverseMessage

type UniverseMessage struct {
	Topic   string `json:"topic"`
	Message string `json:"message"`
}
type UniverseSocialLink struct {
	Title string `json:"title"`
	URI   string `json:"uri"`
}

type UniverseUpdate

type UniverseUpdate struct {
	DisplayName             *string             `json:"displayName,omitempty"`
	Description             *string             `json:"description,omitempty"`
	Visibility              *UniverseVisibility `json:"visibility,omitempty"`
	FacebookSocialLink      *UniverseSocialLink `json:"facebookSocialLink,omitempty"`
	TwitterSocialLink       *UniverseSocialLink `json:"twitterSocialLink,omitempty"`
	YoutubeSocialLink       *UniverseSocialLink `json:"youtubeSocialLink,omitempty"`
	TwitchSocialLink        *UniverseSocialLink `json:"twitchSocialLink,omitempty"`
	DiscordSocialLink       *UniverseSocialLink `json:"discordSocialLink,omitempty"`
	RobloxGroupSocialLink   *UniverseSocialLink `json:"robloxgroupSocialLink,omitempty"`
	VoiceChatEnabled        *bool               `json:"voiceChatEnabled,omitempty"`
	PrivateServerPriceRobux *int                `json:"privateServerPriceRobux,omitempty"`
	DesktopEnabled          *bool               `json:"desktopEnabled,omitempty"`
	MobileEnabled           *bool               `json:"mobileEnabled,omitempty"`
	TabletEnabled           *bool               `json:"tabletEnabled,omitempty"`
	ConsoleEnabled          *bool               `json:"consoleEnabled,omitempty"`
	VREnabled               *bool               `json:"vrEnabled,omitempty"`
}

type UniverseVisibility

type UniverseVisibility string
const (
	UniverseVisibilityUnspecified UniverseVisibility = "VISIBILITY_UNSPECIFIED"
	UniverseVisibilityPublic      UniverseVisibility = "PUBLIC"
	UniverseVisibilityPrivate     UniverseVisibility = "PRIVATE"
)

type User

type User struct {
	Path                  string          `json:"path"`
	CreateTime            string          `json:"createTime"`
	ID                    string          `json:"id"`
	DisplayName           string          `json:"displayName"`
	About                 string          `json:"about"`
	Locale                string          `json:"locale"`
	Premium               bool            `json:"premium"`
	IDVerified            bool            `json:"idVerified"`
	SocialNetworkProfiles UserSocialLinks `json:"socialNetworkProfiles"`
}

type UserAndGroupsService

type UserAndGroupsService service

UserAndGroupsService will handle communciation with the actions related to the API.

Roblox Open Cloud API Docs: https://create.roblox.com/docs/en-us/cloud

func (*UserAndGroupsService) AcceptGroupJoinRequest

func (s *UserAndGroupsService) AcceptGroupJoinRequest(ctx context.Context, groupId, userId string) (*Response, error)

AcceptGroupJoinRequest will accept the join request for a user under a specificed group.

Required scopes: group:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/GroupJoinRequest#Cloud_AcceptGroupJoinRequest

[POST] /cloud/v2/groups/{group_id}/join-requests/{user_id}:accept

func (*UserAndGroupsService) CreateUserNotification

func (s *UserAndGroupsService) CreateUserNotification(ctx context.Context, userId string, data UserNotificationCreate) (*UserNotification, *Response, error)

CreateUserNotification will send a notification to a user.

Required scopes: user.user-notification:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/UserNotification#Cloud_CreateUserNotification

[POST] /cloud/v2/users/{user_id}/notifications

func (*UserAndGroupsService) DeclineGroupJoinRequest

func (s *UserAndGroupsService) DeclineGroupJoinRequest(ctx context.Context, groupId, userId string) (*Response, error)

DeclineGroupJoinRequest will decline the join request for a user under a specificed group.

Required scopes: group:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/GroupJoinRequest#Cloud_DeclineGroupJoinRequest

[POST] /cloud/v2/groups/{group_id}/join-requests/{user_id}:decline

func (*UserAndGroupsService) GenerateUserThumbnail

func (s *UserAndGroupsService) GenerateUserThumbnail(ctx context.Context, userId string, opts *UserThumbnailOptions) (*UserThumbnail, *Response, error)

GenerateUserThumbnail will generate and return a url for a user's avatar.

Required scopes: none

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/User#Cloud_GenerateUserThumbnail

[GET] /cloud/v2/users/{user_id}:generateThumbnail

func (*UserAndGroupsService) GetGroup

func (s *UserAndGroupsService) GetGroup(ctx context.Context, groupId string) (*Group, *Response, error)

GetGroup will fetch information on a specificed group.

Required scopes: none

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/Group#Cloud_GetGroup

[GET] /cloud/v2/groups/{group_id}

func (*UserAndGroupsService) GetGroupRoles

func (s *UserAndGroupsService) GetGroupRoles(ctx context.Context, groupId, roleId string) (*GroupRole, *Response, error)

GetGroupRoles will fetch a specificed role for a specificed group.

Required scopes: none

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/GroupRole#Cloud_GetGroupRole

[GET] /cloud/v2/groups/{group_id}/roles/{role_id}

func (*UserAndGroupsService) GetGroupShout

func (s *UserAndGroupsService) GetGroupShout(ctx context.Context, groupId string) (*GroupShout, *Response, error)

GetGroupShout will fetch the shout for a specificed group.

Required scopes: none

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/GroupShout#Cloud_GetGroupShout

[GET] /cloud/v2/groups/{group_id}/shout

func (*UserAndGroupsService) GetUser

func (s *UserAndGroupsService) GetUser(ctx context.Context, userId string) (*User, *Response, error)

GetUser will fetch information on a specificed user.

Required scopes:

- none (Public Information)

- user.advanced:read (Verification Status)

- user.social:read (Social Information)

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/User#Cloud_GetUser

[GET] /cloud/v2/users/{user_id}

func (*UserAndGroupsService) GetUserRestriction

func (s *UserAndGroupsService) GetUserRestriction(ctx context.Context, universeId string, placeId *string, userId string) (*UserRestriction, *Response, error)

GetUserRestriction will get the user restriction for the specified user under the specified universe or place.

Required scopes: universe.user-restriction:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/UserRestriction#Cloud_GetUserRestriction

[GET] /cloud/v2/universes/{universe_id}/user-restrictions/{user_id}

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/user-restrictions/{user_id}

func (*UserAndGroupsService) ListAssetQuota

func (s *UserAndGroupsService) ListAssetQuota(ctx context.Context, userId string, opts *OptionsWithFilter) (*AssetQuotas, *Response, error)

ListAssetQuota will return information regarding the user's asset quota uploads.

Required scopes: asset:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/AssetQuota#Cloud_ListAssetQuotas

[GET] /cloud/v2/users/{user_id}/asset-quotas

func (*UserAndGroupsService) ListGroupJoinRequests

func (s *UserAndGroupsService) ListGroupJoinRequests(ctx context.Context, groupId string, opts *OptionsWithFilter) (*GroupJoinRequests, *Response, error)

ListGroupJoinRequests will fetch join requests for a specificed group.

Required scopes: group:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/GroupJoinRequest#Cloud_ListGroupJoinRequests

[GET] /cloud/v2/groups/{group_id}/join-requests

func (*UserAndGroupsService) ListGroupMemberships

func (s *UserAndGroupsService) ListGroupMemberships(ctx context.Context, groupId string, opts *OptionsWithFilter) (*GroupMemberships, *Response, error)

ListGroupMemberships will fetch memberships for a specificed group.

Required scopes: none

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/GroupMembership#Cloud_ListGroupMemberships

[GET] /cloud/v2/groups/{group_id}/memberships

func (*UserAndGroupsService) ListGroupRoles

func (s *UserAndGroupsService) ListGroupRoles(ctx context.Context, groupId string, opts *OptionsWithFilter) (*GroupRoles, *Response, error)

ListGroupRoles will fetch roles for a specificed group.

Required scopes: none

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/GroupRole#Cloud_ListGroupRoles

[GET] /cloud/v2/groups/{group_id}/roles

func (*UserAndGroupsService) ListInventoryItems

func (s *UserAndGroupsService) ListInventoryItems(ctx context.Context, userId string, opts *OptionsWithFilter) (*InventoryItems, *Response, error)

ListInventoryItems will fetch inventory items for a specificed user.

Required scopes:

- none (Inventory Public)

- user.inventory-item:read (Inventory Private)

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/InventoryItem#Cloud_ListInventoryItems

[GET] /cloud/v2/users/{user_id}/inventory-items

func (*UserAndGroupsService) ListUserRestrictionLogs

func (s *UserAndGroupsService) ListUserRestrictionLogs(ctx context.Context, universeId string, placeId *string, opts *OptionsWithFilter) (*UserRestrictionLogs, *Response, error)

ListUserRestrictionLogs will list logs of user restrictions for the specified universe or place.

Required scopes: universe.user-restriction:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/UserRestriction#Cloud_ListUserRestrictionLogs

[GET] /cloud/v2/universes/{universe_id}/user-restrictions:listLogs

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/user-restrictions:listLogs

func (*UserAndGroupsService) ListUserRestrictions

func (s *UserAndGroupsService) ListUserRestrictions(ctx context.Context, universeId string, placeId *string, opts *Options) (*UserRestrictions, *Response, error)

ListUserRestrictions will list restrictions for users thave have been restricted for the specified universe or place.

Required scopes: universe.user-restriction:read

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/UserRestriction#Cloud_ListUserRestrictions

[GET] /cloud/v2/universes/{universe_id}/user-restrictions

[GET] /cloud/v2/universes/{universe_id}/places/{place_id}/user-restrictions

func (*UserAndGroupsService) UpdateGroupMemberships

func (s *UserAndGroupsService) UpdateGroupMemberships(ctx context.Context, groupId, userId string, data GroupMembershipUpdate) (*GroupMembership, *Response, error)

UpdateGroupMemberships will update memberships for a user under a specificed group.

Required scopes: group:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/GroupMembership#Cloud_UpdateGroupMembership

[PATCH] /cloud/v2/groups/{group_id}/memberships/{user_id}

func (*UserAndGroupsService) UpdateUserRestriction

func (s *UserAndGroupsService) UpdateUserRestriction(ctx context.Context, universeId string, placeId *string, userId string, data UserRestrictionUpdate, opts *UserRestrictionUpdateOptions) (*UserRestriction, *Response, error)

UpdateUserRestriction will update the current user restriction for the specified user under the specified universe or place.

Required scopes: universe.user-restriction:write

Roblox Opencloud API Docs: https://create.roblox.com/docs/en-us/cloud/reference/UserRestriction#Cloud_UpdateUserRestriction

[PATCH] /cloud/v2/universes/{universe_id}/user-restrictions/{user_id}

[PATCH] /cloud/v2/universes/{universe_id}/places/{place_id}/user-restrictions/{user_id}

type UserNotification

type UserNotification struct {
	Path    string                  `json:"path"`
	ID      string                  `json:"id"`
	Source  UserNotificationSource  `json:"source"`
	Payload UserNotificationPayload `json:"payload"`
}

type UserNotificationAnalyticsData

type UserNotificationAnalyticsData struct {
	Category string `json:"category"`
}

type UserNotificationCreate

type UserNotificationCreate struct {
	Source  *UserNotificationSource  `json:"source,omitempty"`
	Payload *UserNotificationPayload `json:"payload,omitempty"`
}

type UserNotificationJoinExperience

type UserNotificationJoinExperience struct {
	LaunchData string `json:"launchData"`
}

type UserNotificationPayload

type UserNotificationPayload struct {
	Type           UserNotificationType           `json:"type"`
	MessageID      string                         `json:"messageId"`
	Parameters     map[string]any                 `json:"parameters"`
	JoinExperience UserNotificationJoinExperience `json:"joinExperience"`
	AnalyticsData  UserNotificationAnalyticsData  `json:"analyticsData"`
}

type UserNotificationSource

type UserNotificationSource struct {
	Universe string `json:"universe"`
}

type UserNotificationType

type UserNotificationType string
const (
	UserNotificationTypeUnspecified UserNotificationType = "TYPE_UNSPECIFIED"
	UserNotificationTypeMoment      UserNotificationType = "MOMENT"
)

type UserRestriction

type UserRestriction struct {
	Path                string              `json:"path"`
	UpdateTime          string              `json:"updateTime"`
	User                string              `json:"user"`
	GameJoinRestriction GameJoinRestriction `json:"gameJoinRestriction"`
}

type UserRestrictionLog

type UserRestrictionLog struct {
	User               string                   `json:"user"`
	Place              string                   `json:"place"`
	Moderator          UserRestrictionModerator `json:"moderator"`
	CreateTime         string                   `json:"createTime"`
	Active             bool                     `json:"active"`
	StartTime          string                   `json:"startTime"`
	Duration           string                   `json:"duration"`
	PrivateReason      string                   `json:"privateReason"`
	DisplayReason      string                   `json:"displayReason"`
	RestrictionType    GameJoinRestriction      `json:"restrictionType"`
	ExcludeAltAccounts bool                     `json:"excludeAltAccounts"`
}

type UserRestrictionLogs

type UserRestrictionLogs struct {
	Logs          []UserRestrictionLog `json:"logs"`
	NextPageToken string               `json:"nextPageToken"`
}

type UserRestrictionModerator

type UserRestrictionModerator struct {
	RobloxUser string `json:"robloxUser"`
}

type UserRestrictionUpdate

type UserRestrictionUpdate struct {
	GameJoinRestriction *GameJoinRestrictionUpdate `json:"gameJoinRestriction,omitempty"`
}

type UserRestrictionUpdateOptions

type UserRestrictionUpdateOptions struct {
	UpdateMask           *string `url:"updateMask,omitempty"`
	IdempotencyKey       *string `url:"idempotencyKey.key,omitempty"`
	IdempotencyFirstSent *string `url:"idempotencyKey.firstSent,omitempty"`
}

type UserRestrictions

type UserRestrictions struct {
	UserRestrictions []UserRestriction `json:"userRestrictions"`
	NextPageToken    string            `json:"nextPageToken"`
}
type UserSocialLinks struct {
	Facebook   string                    `json:"facebook"`
	Twitter    string                    `json:"twitter"`
	YouTube    string                    `json:"youtube"`
	Twitch     string                    `json:"twitch"`
	Guilded    string                    `json:"guilded"`
	Visibility UserSocialLinksVisibility `json:"visibility"`
}

type UserSocialLinksVisibility

type UserSocialLinksVisibility string
const (
	UserSocialLinksVisibilityUnspecified                  UserSocialLinksVisibility = "SOCIAL_NETWORK_VISIBILITY_UNSPECIFIED"
	UserSocialLinksVisibilityNoOne                        UserSocialLinksVisibility = "NO_ONE"
	UserSocialLinksVisibilityFriends                      UserSocialLinksVisibility = "FRIENDS"
	UserSocialLinksVisibilityFriendsAndFollowing          UserSocialLinksVisibility = "FRIENDS_AND_FOLLOWING"
	UserSocialLinksVisibilityFriendsFollowingAndFollowers UserSocialLinksVisibility = "FRIENDS_FOLLOWING_AND_FOLLOWERS"
	UserSocialLinksVisibilityEveryone                     UserSocialLinksVisibility = "EVERYONE"
)

type UserThumbnail

type UserThumbnail struct {
	ImageURI string `json:"imageUri"`
}

type UserThumbnailFormat

type UserThumbnailFormat string
const (
	UserThumbnailFormatUnspecified UserThumbnailFormat = "FORMAT_UNSPECIFIED"
	UserThumbnailFormatJPEG        UserThumbnailFormat = "JPEG"
	UserThumbnailFormatPNG         UserThumbnailFormat = "PNG"
)

type UserThumbnailOptions

type UserThumbnailOptions struct {
	Size   UserThumbnailSize   `url:"size,omitempty"`
	Format UserThumbnailFormat `url:"format,omitempty"`
	Shape  UserThumbnailShape  `url:"shape,omitempty"`
}

type UserThumbnailShape

type UserThumbnailShape string
const (
	UserThumbnailShapeUnspecified UserThumbnailShape = "SHAPE_UNSPECIFIED"
	UserThumbnailShapeRound       UserThumbnailShape = "ROUND"
	UserThumbnailShapeSquare      UserThumbnailShape = "SQUARE"
)

type UserThumbnailSize

type UserThumbnailSize int
const (
	UserThumbnailSize48  UserThumbnailSize = 48
	UserThumbnailSize50  UserThumbnailSize = 50
	UserThumbnailSize60  UserThumbnailSize = 60
	UserThumbnailSize75  UserThumbnailSize = 75
	UserThumbnailSize100 UserThumbnailSize = 100
	UserThumbnailSize110 UserThumbnailSize = 110
	UserThumbnailSize150 UserThumbnailSize = 150
	UserThumbnailSize180 UserThumbnailSize = 180
	UserThumbnailSize352 UserThumbnailSize = 352
	UserThumbnailSize420 UserThumbnailSize = 420
	UserThumbnailSize720 UserThumbnailSize = 720
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL