Tabletop Generator API (2.1)

Download OpenAPI specification:

License: Unlicensed

REST API for managing AI-generated tabletop gaming assets

asset

Assets operations

Create a new asset

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
Request Body schema: application/json
name
required
string [ 1 .. 30 ] characters
assetType
required
string (assetType)
Enum: "character" "location" "quest" "map"
visibility
required
string (visibility)
Enum: "public" "private" "unlisted"
required
object or object or object or object (assetDataCreate)

Responses

Request samples

Content type
application/json
Example
{
  • "assetType": "character",
  • "name": "Arannis the Wise",
  • "visibility": "public",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "assetId": "9179b887-04ef-4ce5-ab3a-b5bbd39ea3c8",
  • "assetType": "character",
  • "name": "string",
  • "visibility": "public",
  • "imageUrl": "http://example.com",
  • "likeCount": 0,
  • "isLikedByCurrentUser": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "commentCount": 0,
  • "data": {
    }
}

Retrieve a list of assets

query Parameters
limit
integer [ 1 .. 100 ]
offset
integer >= 0
assetType
string (assetType)
Enum: "character" "location" "quest" "map"
collectionId
string <uuid>
userId
string <uuid>
name
string [ 1 .. 30 ] characters
description
string [ 1 .. 255 ] characters

Responses

Response samples

Content type
application/json
{
  • "assets": [
    ]
}

Retrieve an asset by its ID

path Parameters
assetId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "assetId": "9179b887-04ef-4ce5-ab3a-b5bbd39ea3c8",
  • "assetType": "character",
  • "name": "string",
  • "visibility": "public",
  • "imageUrl": "http://example.com",
  • "likeCount": 0,
  • "isLikedByCurrentUser": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "commentCount": 0,
  • "data": {
    }
}

Update an asset by its ID

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
assetId
required
string <uuid>
Request Body schema: application/json
name
string [ 1 .. 30 ] characters
description
string <= 5000 characters
visibility
string (visibility)
Enum: "public" "private" "unlisted"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "visibility": "public"
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "assetId": "9179b887-04ef-4ce5-ab3a-b5bbd39ea3c8",
  • "assetType": "character",
  • "name": "string",
  • "visibility": "public",
  • "imageUrl": "http://example.com",
  • "likeCount": 0,
  • "isLikedByCurrentUser": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "commentCount": 0,
  • "data": {
    }
}

Delete an asset by its ID

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
assetId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "status": "error",
  • "error": {
    }
}

Toggle like status for an asset

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
assetId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "assetId": "9179b887-04ef-4ce5-ab3a-b5bbd39ea3c8",
  • "likeCount": 0,
  • "isLikedByCurrentUser": true
}

collection

Collections operations

Create a new collection

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
Request Body schema: application/json
name
required
string [ 1 .. 30 ] characters
description
string <= 255 characters
visibility
string (visibility)
Enum: "public" "private" "unlisted"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "visibility": "public"
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "collectionId": "0ffe69e2-b7af-4b1e-835c-867376165f50",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "visibility": "public",
  • "name": "string",
  • "description": "string",
  • "assetCount": 0,
  • "coverImageUrl": "http://example.com",
  • "assets": [
    ]
}

Retrieve a list of collections

query Parameters
limit
integer [ 1 .. 100 ]
offset
integer >= 0
userId
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "collections": [
    ]
}

Retrieve a collection by its ID

path Parameters
collectionId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "collectionId": "0ffe69e2-b7af-4b1e-835c-867376165f50",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "visibility": "public",
  • "name": "string",
  • "description": "string",
  • "assetCount": 0,
  • "coverImageUrl": "http://example.com",
  • "assets": [
    ]
}

Update a collection by its ID

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
collectionId
required
string <uuid>
Request Body schema: application/json
name
required
string [ 1 .. 30 ] characters
description
string <= 255 characters
visibility
string (visibility)
Enum: "public" "private" "unlisted"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "visibility": "public"
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "collectionId": "0ffe69e2-b7af-4b1e-835c-867376165f50",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "visibility": "public",
  • "name": "string",
  • "description": "string",
  • "assetCount": 0,
  • "coverImageUrl": "http://example.com",
  • "assets": [
    ]
}

Delete a collection by its ID

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
collectionId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "status": "error",
  • "error": {
    }
}

Add a list of assets to a collection

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
collectionId
required
string <uuid>
Request Body schema: application/json
assetIds
required
Array of strings <uuid> [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "assetIds": [
    ]
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "collectionId": "0ffe69e2-b7af-4b1e-835c-867376165f50",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "visibility": "public",
  • "name": "string",
  • "description": "string",
  • "assetCount": 0,
  • "coverImageUrl": "http://example.com",
  • "assets": [
    ]
}

Remove a list of assets from a collection

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
collectionId
required
string <uuid>
Request Body schema: application/json
assetIds
required
Array of strings <uuid> [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "assetIds": [
    ]
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "collectionId": "0ffe69e2-b7af-4b1e-835c-867376165f50",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "visibility": "public",
  • "name": "string",
  • "description": "string",
  • "assetCount": 0,
  • "coverImageUrl": "http://example.com",
  • "assets": [
    ]
}

user

Users operations

Retrieve a user by their ID

path Parameters
userId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "displayName": "string",
  • "bio": "string"
}

Retrieve the current user

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication

Responses

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "displayName": "string",
  • "bio": "string"
}

Update the current user

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
Request Body schema: application/json
displayName
string [ 1 .. 30 ] characters
bio
string <= 255 characters

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "bio": "string"
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "displayName": "string",
  • "bio": "string"
}

comment

Comments operations

Create a new comment on a specific asset

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
assetId
required
string <uuid>
Request Body schema: application/json
body
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "commentId": "ee0469af-2fa1-4b7e-b5f1-8e711a95821b",
  • "body": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve all comments for a specific asset

path Parameters
assetId
required
string <uuid>
query Parameters
limit
integer [ 1 .. 100 ]
offset
integer >= 0

Responses

Response samples

Content type
application/json
{
  • "comments": [
    ]
}

Update a specific comment by its ID

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
commentId
required
string <uuid>
Request Body schema: application/json
body
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "displayName": "string",
  • "commentId": "ee0469af-2fa1-4b7e-b5f1-8e711a95821b",
  • "body": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a specific comment by its ID

Authorizations:
basicHttpAuthenticationbearerHttpAuthentication
path Parameters
commentId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "status": "error",
  • "error": {
    }
}

Perform a health check on the API

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "githubUrl": "http://example.com",
  • "version": "string",
  • "hostname": "string",
  • "timestamp": "2019-08-24T14:15:22Z"
}