catena-tools-core (v1)

How To Use The API Explorer

On the right hand side of this page, you will see a list of "Servers".

  • Mock server: This server will return mock responses to all requests. It is best used when evaluating the shape of the Catena API.
  • Localhost: This server will point at a locally running version of Catena. It is best used when you want to make real requests or to validate that Catena is properly running on your machine.
  • Custom Domain: This server will point at any domain you specify with the domain variable. It is best used when you have a version of Catena deployed to a live environment and you want to make real requests against it.

To configure which server is shown in example requests:

  1. Select the "Try it" button on any API operation within the API explorer
  1. Select your environment
  1. If you want to point the API explorer to an instance of Catena you have deployed, select "Custom Domain" and configure the domain environment variable.
  1. You're all set! This setting will be cached across all API operations exposed in these docs.
Languages
Servers
Mock server
https://docs.catenatools.com/_mock/apis/catena-tools-core/
Localhost
http://localhost:5000/
Custom Domain
https://{domain}/

CatenaApiKeys

CatenaApiKeys

Operations

CatenaAccounts

CatenaAccounts

Operations

CreateOrGetAccountFromToken

Request

Bodyapplication/json
object(Services.CatenaAccounts.CreateOrGetAccountFromTokenRequest)
curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

Success

Bodyapplication/json
accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

Response
application/json
{ "account": { "id": "string", "displayName": "string", "authRole": "string", "metadata": { … }, "platforms": [ … ] } }

GetAccountByID Retrieves information about the account given an id. This route is to be used by users

Request

Path
accountIdstringrequired
curl -i -X GET \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/{accountId}'

Responses

Success

Bodyapplication/json
accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

Response
application/json
{ "account": { "id": "string", "displayName": "string", "authRole": "string", "metadata": { … }, "platforms": [ … ] } }

UpdateAccount Updates a passed in account's display_name and metadata

Request

Path
accountIdstringrequired

The id of the account to update

Bodyapplication/json
accountIdstring

The id of the account to update

accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

accountMaskstring
metadataDeletionKeysArray of strings

A list of metadata keys to delete

curl -i -X PATCH \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/{accountId}' \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "account": {
      "id": "string",
      "displayName": "string",
      "authRole": "string",
      "metadata": {
        "property1": {
          "stringPayload": "string",
          "intPayload": 0,
          "jsonPayload": "string"
        },
        "property2": {
          "stringPayload": "string",
          "intPayload": 0,
          "jsonPayload": "string"
        }
      },
      "platforms": [
        "PLATFORM_UNSPECIFIED"
      ]
    },
    "accountMask": "string",
    "metadataDeletionKeys": [
      "string"
    ]
  }'

Responses

Success

Bodyapplication/json
accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

Response
application/json
{ "account": { "id": "string", "displayName": "string", "authRole": "string", "metadata": { … }, "platforms": [ … ] } }

GetAccountIds Retrieves a list of account ids. This route is to be used by users

Request

Bodyapplication/json
limitinteger(int32)
offsetinteger(int32)
curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/ids \
  -H 'Content-Type: application/json' \
  -d '{
    "limit": 0,
    "offset": 0
  }'

Responses

Success

Bodyapplication/json
accountIdsArray of strings
Response
application/json
{ "accountIds": [ "string" ] }

AdminGetAccountById is to be used by admins to retrieve detailed account information

Request

Path
accountIdstringrequired
curl -i -X GET \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts/{accountId}'

Responses

Success

Bodyapplication/json
accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

Response
application/json
{ "account": { "id": "string", "displayName": "string", "authRole": "string", "metadata": { … }, "platforms": [ … ] } }

LinkAccountToPlatform

Request

Bodyapplication/json
sessionIdstring

The session id to link into the currently logged in session id

curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/link \
  -H 'Content-Type: application/json' \
  -d '{
    "sessionId": "string"
  }'

Responses

Success

Bodyapplication/json
accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

accountLinkedboolean

indicator of success of linking existing account to new auth provider

Response
application/json
{ "account": { "id": "string", "displayName": "string", "authRole": "string", "metadata": { … }, "platforms": [ … ] }, "accountLinked": true }

CreateMetadataEntry Creates a metadata entry for an account

Request

Bodyapplication/json
accountIdstring
entryKeystring
entryValueobject(Catena.Groups.EntityMetadata)
curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/metadata \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "entryKey": "string",
    "entryValue": {
      "stringPayload": "string",
      "intPayload": 0,
      "jsonPayload": "string"
    }
  }'

Responses

Success

Bodyapplication/json
object(Services.CatenaAccounts.CreateMetadataEntryResponse)
Response
application/json
{}

UpdateMetadataEntry Updates a passed in account's metadata for a specific entry

Request

Bodyapplication/json
accountIdstring
entryKeystring
entryValueobject(Catena.Groups.EntityMetadata)
updateOperationTypeany(Catena.Groups.UpdateMetadataOperationType)

When updating a metadata entry, the entry can either be overwritten (supported by all types) or appended (supported by string and json) Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Overwrite

1

Append

curl -i -X PUT \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/metadata \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "entryKey": "string",
    "entryValue": {
      "stringPayload": "string",
      "intPayload": 0,
      "jsonPayload": "string"
    },
    "updateOperationType": "OVERWRITE"
  }'

Responses

Success

Bodyapplication/json
object(Services.CatenaAccounts.UpdateMetadataEntryResponse)
Response
application/json
{}

GetMetadataEntries Gets all metadata entries for a passed in account id

Request

Query
idstring
curl -i -X GET \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/metadata?id=string'

Responses

Success

Bodyapplication/json
metadataobject
Response
application/json
{ "metadata": { "property1": { … }, "property2": { … } } }

DeleteMetadataEntry Deletes a metadata entry for an account

Request

Path
entryKeystringrequired
Query
accountIdstring
jsonHandlingTypeany(int32)(Catena.Groups.DeleteJsonMetadataType)

If you are deleting a json, can choose whether to delete the entire entry or a partial part of an entry Currently, only whole property removal is supported. Removal of elements in a json array (e.g. trying to remove "value" from json {"array":["value","value2"]}) is not currently supported by DeleteMetadataEntryRequest. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

EntireEntry

1

PartialEntry

propertiesToRemovePathsArray of strings
curl -i -X DELETE \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/metadata/{entryKey}?accountId=string&jsonHandlingType=0&propertiesToRemovePaths=string'

Responses

Success

Bodyapplication/json
entryDeletedboolean
Response
application/json
{ "entryDeleted": true }

GetMetadataEntry Gets a metadata entry for a passed in key

Request

Path
entryKeystringrequired
Query
accountIdstring
curl -i -X GET \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/metadata/{entryKey}?accountId=string'

Responses

Success

Bodyapplication/json
entryValueobject(Catena.Groups.EntityMetadata)
Response
application/json
{ "entryValue": { "stringPayload": "string", "intPayload": 0, "jsonPayload": "string" } }

GetServiceHealth Gets the health of the CatenaAccounts service, logging any errors

Request

curl -i -X GET \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/accounts/healthz

Responses

Success

Bodyapplication/json
healthyboolean
componentsArray of objects(Catena.Core.ComponentHealth)
Response
application/json
{ "healthy": true, "components": [ { … } ] }

catena.catena_accounts.CatenaAccounts_AdminListAccounts

Request

Query
limitinteger(int32)
offsetinteger(int32)
curl -i -X GET \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts?limit=0&offset=0'

Responses

Success

Bodyapplication/json
accountsArray of objects(Services.CatenaAccounts.Account)
Response
application/json
{ "accounts": [ { … } ] }

catena.catena_accounts.CatenaAccounts_AdminCreateAccount

Request

Bodyapplication/json
displayNamestring
authRolestring
curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts \
  -H 'Content-Type: application/json' \
  -d '{
    "displayName": "string",
    "authRole": "string"
  }'

Responses

Success

Bodyapplication/json
accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

Response
application/json
{ "account": { "id": "string", "displayName": "string", "authRole": "string", "metadata": { … }, "platforms": [ … ] } }

catena.catena_accounts.CatenaAccounts_AdminUpdateAccount

Request

Bodyapplication/json
accountIdstring

The id of the account to update

accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

accountMaskstring
metadataDeletionKeysArray of strings

A list of metadata keys to delete

curl -i -X PATCH \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "account": {
      "id": "string",
      "displayName": "string",
      "authRole": "string",
      "metadata": {
        "property1": {
          "stringPayload": "string",
          "intPayload": 0,
          "jsonPayload": "string"
        },
        "property2": {
          "stringPayload": "string",
          "intPayload": 0,
          "jsonPayload": "string"
        }
      },
      "platforms": [
        "PLATFORM_UNSPECIFIED"
      ]
    },
    "accountMask": "string",
    "metadataDeletionKeys": [
      "string"
    ]
  }'

Responses

Success

Bodyapplication/json
accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

Response
application/json
{ "account": { "id": "string", "displayName": "string", "authRole": "string", "metadata": { … }, "platforms": [ … ] } }

catena.catena_accounts.CatenaAccounts_AdminDeleteAccount

Request

Bodyapplication/json
accountIdstring
curl -i -X DELETE \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string"
  }'

Responses

Success

Bodyapplication/json
accountDeletedboolean
Response
application/json
{ "accountDeleted": true }

catena.catena_accounts.CatenaAccounts_AdminCreateMetadataEntry

Request

Bodyapplication/json
accountIdstring
entryKeystring
entryValueobject(Catena.Groups.EntityMetadata)
curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts/metadata \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "entryKey": "string",
    "entryValue": {
      "stringPayload": "string",
      "intPayload": 0,
      "jsonPayload": "string"
    }
  }'

Responses

Success

Bodyapplication/json
object(Services.CatenaAccounts.CreateMetadataEntryResponse)
Response
application/json
{}

catena.catena_accounts.CatenaAccounts_AdminUpdateMetadataEntry

Request

Bodyapplication/json
accountIdstring
entryKeystring
entryValueobject(Catena.Groups.EntityMetadata)
updateOperationTypeany(Catena.Groups.UpdateMetadataOperationType)

When updating a metadata entry, the entry can either be overwritten (supported by all types) or appended (supported by string and json) Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Overwrite

1

Append

curl -i -X PUT \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts/metadata \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "entryKey": "string",
    "entryValue": {
      "stringPayload": "string",
      "intPayload": 0,
      "jsonPayload": "string"
    },
    "updateOperationType": "OVERWRITE"
  }'

Responses

Success

Bodyapplication/json
object(Services.CatenaAccounts.UpdateMetadataEntryResponse)
Response
application/json
{}

catena.catena_accounts.CatenaAccounts_AdminDeleteMetadataEntry

Request

Bodyapplication/json
accountIdstring
entryKeystring
jsonHandlingTypeany(int32)(Catena.Groups.DeleteJsonMetadataType)

If you are deleting a json, can choose whether to delete the entire entry or a partial part of an entry Currently, only whole property removal is supported. Removal of elements in a json array (e.g. trying to remove "value" from json {"array":["value","value2"]}) is not currently supported by DeleteMetadataEntryRequest. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

EntireEntry

1

PartialEntry

propertiesToRemovePathsArray of strings
curl -i -X DELETE \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts/metadata \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "entryKey": "string",
    "jsonHandlingType": 0,
    "propertiesToRemovePaths": [
      "string"
    ]
  }'

Responses

Success

Bodyapplication/json
entryDeletedboolean
Response
application/json
{ "entryDeleted": true }

catena.catena_accounts.CatenaAccounts_AdminGetMetadataEntry

Request

Query
accountIdstring
entryKeystring
curl -i -X GET \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/accounts/metadata?accountId=string&entryKey=string'

Responses

Success

Bodyapplication/json
entryValueobject(Catena.Groups.EntityMetadata)
Response
application/json
{ "entryValue": { "stringPayload": "string", "intPayload": 0, "jsonPayload": "string" } }

catena.catena_accounts.CatenaAccounts_ServerCreateAccount

Request

Bodyapplication/json
accountIdstring
displayNamestring
platformAccountIdsArray of objects(Services.CatenaAccounts.PlatformAccountId)
curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/server/accounts \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "displayName": "string",
    "platformAccountIds": [
      {
        "platform": "PLATFORM_UNSPECIFIED",
        "id": "string"
      }
    ]
  }'

Responses

Success

Bodyapplication/json
accountobject(Services.CatenaAccounts.Account)

Bundled data that describes an account and its metadata.

Response
application/json
{ "account": { "id": "string", "displayName": "string", "authRole": "string", "metadata": { … }, "platforms": [ … ] } }

catena.catena_accounts.CatenaAccounts_ServerDeleteAccount

Request

Bodyapplication/json
accountIdstring
curl -i -X DELETE \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/server/accounts \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string"
  }'

Responses

Success

Bodyapplication/json
object(Services.CatenaAccounts.ServerDeleteAccountResponse)
Response
application/json
{}

catena.catena_accounts.CatenaAccounts_ServerLinkAccount

Request

Bodyapplication/json
accountIdstring
platformAccountIdobject(Services.CatenaAccounts.PlatformAccountId)
curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/server/accounts/link \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "string",
    "platformAccountId": {
      "platform": "PLATFORM_UNSPECIFIED",
      "id": "string"
    }
  }'

Responses

Success

Bodyapplication/json
object(Services.CatenaAccounts.ServerLinkAccountResponse)
Response
application/json
{}

CatenaServerManager

The server manager service portion of the integrated broker. This is what game servers interact with to handle matches.

Operations

CatenaAuthentication

CatenaAuthentication

Operations

CatenaSessions

A service that can be used to probe the session store directly for development or diagnostics. Not intended for regular production use!

Operations

CatenaTitles

CatenaTitles

Operations

CatenaServerReleases

CatenaServerManagement

Operations

CatenaPlatformAuth

A service for managing Catena-authoritative functionality with regards to validation and authentication. Used by validators in the Authentication service that log the user into the Catena platform.

Operations

CatenaParties

CatenaParties

Operations

CatenaNodeInspection

A service that can be used inspect the Catena node.

Operations

CatenaNodeControl

A service that can be used control the Catena node.

Operations

CatenaMatchBroker

An integrated match broker service which sits between the matchmaker, clients, and game servers/hosting to coordinate capacity and notify clients when servers are ready to accept connections. This implementation integrates the broker and capacity/server manager roles.

Operations

CatenaFriends

CatenaFriends

Operations

Events

Events

Operations

CatenaEntitlements

Operations

CatenaLeaderboards

Operations

CatenaMatchmaking

Operations

CatenaServerCatalog

Operations

CatenaSteamDiag

Operations