Games
Make sure to use your X-Auth-Token when making a POST request. Your X-Auth-Token is the private key associated to your ERC-20 wallet.
Create Game
Create a new game
ababa71162175e6867058b271eea7b5b279326eaf646188ab5e37365f32bb353
Pattern: [0-9a-fA-F]{64}
Unique Request Id that makes APIs idempotent. If two requests have the same ID, one of them will fail.
ab62663d-1645-4026-ba2d-d888b9634de9
Fully Qualified Game Name
com.studio.game
Pattern: ^[a-z]{2,6}\.(\b[a-z0-9-]{1,59}\b)\.(\b[a-z0-9-]{1,59}\b)
Owner address
0xcafe000102030405060708090a0b0c0d0e0fbeef
Pattern: ^0x[a-fA-F0-9]{40}$
Display name
Super Game
The flag that controls display in the Discovery
true
Example: true
The type of the game
GAME
Example: GAME
Pattern: GAME|APP
Game description
Super Game for everyone and everywhere
Main image
Game image
Pattern: ^(http|https)://[-a-zA-Z0-9+&@#/%?=~_|,!:.;]*[-a-zA-Z0-9+@#/%=&_|]\.(?:jpg|jpeg|png)$
Background image
Game background image
Pattern: ^(http|https)://[-a-zA-Z0-9+&@#/%?=~_|,!:.;]*[-a-zA-Z0-9+@#/%=&_|]\.(?:jpg|jpeg|png)$
POST /games/manage/create HTTP/1.1
Host: game-api.openvessel.io
X-Auth-Key: text
Content-Type: application/json
Accept: */*
Content-Length: 415
{
"fqGn": "com.studio.game",
"owner": "0xcafe000102030405060708090a0b0c0d0e0fbeef",
"displayName": "Super Game",
"displayInDiscovery": true,
"gameType": "GAME",
"description": "Super Game for everyone and everywhere",
"appInfoSet": [
{
"packageName": "text",
"publicKey": "text",
"platform": "iOS"
}
],
"beneficiaries": {
"0xcafe000102030405060708090a0b0c0d0e0fbeef": 100
},
"imageUrl": "Game image",
"backgroundImageUrl": "Game background image"
}
{
"response": {
"txHash": "text",
"description": "text",
"details": {
"fqGn": "text",
"createdAt": 1,
"displayName": "text",
"displayInDiscovery": true,
"description": "text",
"contractAddress": "text",
"owner": "text",
"imageUrl": "text",
"backgroundImageUrl": "text",
"appInfoList": [
{
"packageName": "text",
"publicKey": "text",
"platform": "iOS"
}
]
}
}
}
Create a new game multipart
ababa71162175e6867058b271eea7b5b279326eaf646188ab5e37365f32bb353
Pattern: [0-9a-fA-F]{64}
Unique Request Id that makes APIs idempotent. If two requests have the same ID, one of them will fail.
ab62663d-1645-4026-ba2d-d888b9634de9
POST /games/manage/create-multipart HTTP/1.1
Host: game-api.openvessel.io
X-Auth-Key: text
Content-Type: multipart/form-data
Accept: */*
Content-Length: 399
{
"data": {
"fqGn": "com.studio.game",
"owner": "0xcafe000102030405060708090a0b0c0d0e0fbeef",
"displayName": "Super Game",
"displayInDiscovery": true,
"gameType": "GAME",
"description": "Super Game for everyone and everywhere",
"appInfoSet": [
{
"packageName": "text",
"publicKey": "text",
"platform": "iOS"
}
],
"beneficiaries": {
"0xcafe000102030405060708090a0b0c0d0e0fbeef": 100
}
},
"image": "binary",
"backgroundImage": "binary"
}
{
"response": {
"txHash": "text",
"description": "text",
"details": {
"fqGn": "text",
"createdAt": 1,
"displayName": "text",
"displayInDiscovery": true,
"description": "text",
"contractAddress": "text",
"owner": "text",
"imageUrl": "text",
"backgroundImageUrl": "text",
"appInfoList": [
{
"packageName": "text",
"publicKey": "text",
"platform": "iOS"
}
]
}
}
}
create vs create-multipart
You need to upload the image somewhere and post the URL when you use /games/manage/create
API. Once it is created, we store image data in our DB.
On the other hand, you can post the image binary directly to us if you use /game/manage/create-multipart
API.
Game Metadata
Update game metadata
Fully Qualified Collection Name
com.studio.game.collection
ababa71162175e6867058b271eea7b5b279326eaf646188ab5e37365f32bb353
Pattern: [0-9a-fA-F]{64}
New display name
New description
New image URL
POST /collections/manage/{fqCn}/update-metadata HTTP/1.1
Host: game-api.openvessel.io
X-Auth-Key: text
Content-Type: application/json
Accept: */*
Content-Length: 61
{
"displayName": "text",
"description": "text",
"imageUrl": "text"
}
No content
Update game metadata multipart
Fully Qualified Game Name
com.studio.game
ababa71162175e6867058b271eea7b5b279326eaf646188ab5e37365f32bb353
Pattern: [0-9a-fA-F]{64}
POST /games/manage/{fqGn}/update-metadata-multipart HTTP/1.1
Host: game-api.openvessel.io
X-Auth-Key: text
Content-Type: multipart/form-data
Accept: */*
Content-Length: 96
{
"data": {
"displayName": "text",
"description": "text"
},
"image": "binary",
"backgroundImage": "binary"
}
No content
Game Lookup
Lookup the game by fqGn
You can get the game details by fqGn.
GET /games/{fqGn} HTTP/1.1
Host: game-api.openvessel.io
Accept: */*
{
"response": {
"fqGn": "text",
"createdAt": 1,
"displayName": "text",
"displayInDiscovery": true,
"description": "text",
"contractAddress": "text",
"owner": "text",
"imageUrl": "text",
"backgroundImageUrl": "text",
"appInfoList": [
{
"packageName": "text",
"publicKey": "text",
"platform": "iOS"
}
]
}
}
Lookup the game by platform and package name
You can get the game details by platform and package name.
GET /games/{platform}/{packageName} HTTP/1.1
Host: game-api.openvessel.io
Accept: */*
{
"response": {
"fqGn": "text",
"createdAt": 1,
"displayName": "text",
"displayInDiscovery": true,
"description": "text",
"contractAddress": "text",
"owner": "text",
"imageUrl": "text",
"backgroundImageUrl": "text",
"appInfoList": [
{
"packageName": "text",
"publicKey": "text",
"platform": "iOS"
}
]
}
}
Last updated
Was this helpful?