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

CatenaServerManager

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

Operations

CatenaAuthentication

CatenaAuthentication

Operations

LoginWithProvider Logs in a user with the given provider.

Request

Bodyapplication/json
providerany(Services.CatenaAuthentication.Provider)

Accepted auth providers. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Unspecified

1

Unsafe

2

DiscordWeb

3

GoogleWeb

4

AppleWeb

5

TwitchWeb

6

SteamWeb

7

ItchWeb

8

AmazonWeb

9

EpicWeb

payloadstring

provider-specific auth token (username for unsafe provider)

Example: "test01"
curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/authentication/login \
  -H 'Content-Type: application/json' \
  -d '{
    "provider": 1,
    "payload": "test01"
  }'

Responses

Success

Bodyapplication/json
redirectUristring

Redirect URI for the browser to use if we are authenticating via a website with an OAuth provider. Not returned if authenticating with a game client.

Response
application/json
{ "redirectUri": "string" }

GetEnabledProviders returns a list of all active OAuth providers.

Request

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

Responses

Success

Bodyapplication/json
enabledProvidersArray of any(Services.CatenaAuthentication.Provider)
Items Enum ValueDescription
0

Unspecified

1

Unsafe

2

DiscordWeb

3

GoogleWeb

4

AppleWeb

5

TwitchWeb

6

SteamWeb

7

ItchWeb

8

AmazonWeb

9

EpicWeb

Response
application/json
{ "enabledProviders": [ "PROVIDER_UNSPECIFIED" ] }

AdminUpdateProviderConfig allows an admin to update the configuration of a specific provider

Request

Path
providerany(Services.CatenaAuthentication.Provider)required

Accepted auth providers. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Unspecified

1

Unsafe

2

DiscordWeb

3

GoogleWeb

4

AppleWeb

5

TwitchWeb

6

SteamWeb

7

ItchWeb

8

AmazonWeb

9

EpicWeb

Bodyapplication/json
providerany(Services.CatenaAuthentication.Provider)

Accepted auth providers. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Unspecified

1

Unsafe

2

DiscordWeb

3

GoogleWeb

4

AppleWeb

5

TwitchWeb

6

SteamWeb

7

ItchWeb

8

AmazonWeb

9

EpicWeb

providerConfigobject(Services.CatenaAuthentication.ProviderConfig)

Accepted auth provider configs.

curl -i -X PATCH \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/authentication/providers/{provider}' \
  -H 'Content-Type: application/json' \
  -d '{
    "provider": "PROVIDER_UNSPECIFIED",
    "providerConfig": {
      "providerClientId": "string",
      "providerClientSecret": "string",
      "providerRedirectUri": "string",
      "providerIsEnabled": true
    }
  }'

Responses

Success

Bodyapplication/json
object(Services.CatenaAuthentication.AdminAddOrUpdateProviderConfigResponse)
Response
application/json
{}

catena.catena_authentication.CatenaAuthentication_AdminGetProviderConfig

Request

Path
providerany(Services.CatenaAuthentication.Provider)required

Accepted auth providers. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Unspecified

1

Unsafe

2

DiscordWeb

3

GoogleWeb

4

AppleWeb

5

TwitchWeb

6

SteamWeb

7

ItchWeb

8

AmazonWeb

9

EpicWeb

curl -i -X GET \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/authentication/providers/{provider}'

Responses

Success

Bodyapplication/json
providerany(Services.CatenaAuthentication.Provider)

Accepted auth providers. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Unspecified

1

Unsafe

2

DiscordWeb

3

GoogleWeb

4

AppleWeb

5

TwitchWeb

6

SteamWeb

7

ItchWeb

8

AmazonWeb

9

EpicWeb

providerConfigobject(Services.CatenaAuthentication.ProviderConfig)

Accepted auth provider configs.

Response
application/json
{ "provider": "PROVIDER_UNSPECIFIED", "providerConfig": { "providerClientId": "string", "providerClientSecret": "string", "providerRedirectUri": "string", "providerIsEnabled": true } }

AdminToggleProvider allows an admin to enable/disable a specific OAuth2 provider

Request

Path
providerany(Services.CatenaAuthentication.Provider)required

Accepted auth providers. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Unspecified

1

Unsafe

2

DiscordWeb

3

GoogleWeb

4

AppleWeb

5

TwitchWeb

6

SteamWeb

7

ItchWeb

8

AmazonWeb

9

EpicWeb

Bodyapplication/json
providerany(Services.CatenaAuthentication.Provider)

Accepted auth providers. Prefer integer values in JSON-encoded requests to avoid generic parse errors due to typos.

Enum ValueDescription
0

Unspecified

1

Unsafe

2

DiscordWeb

3

GoogleWeb

4

AppleWeb

5

TwitchWeb

6

SteamWeb

7

ItchWeb

8

AmazonWeb

9

EpicWeb

isEnabledboolean
curl -i -X PUT \
  'https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/admin/authentication/providers/{provider}/status' \
  -H 'Content-Type: application/json' \
  -d '{
    "provider": "PROVIDER_UNSPECIFIED",
    "isEnabled": true
  }'

Responses

Success

Bodyapplication/json
object(Services.CatenaAuthentication.AdminToggleProviderResponse)
Response
application/json
{}

AwaitSession will send a message if the user successfully logs in or fails to log in after a timeout. In this flow you will log in & go through the oauth flow, then wait for the callback to be called.

Request

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

Responses

Success

Bodyapplication/json
successfulAuthboolean
messagestring
Response
application/json
{ "successfulAuth": true, "message": "string" }

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

Request

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

Responses

Success

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

catena.catena_authentication.CatenaAuthentication_Logout

Request

curl -i -X POST \
  https://docs.catenatools.com/_mock/apis/catena-tools-core/api/v1/authentication/logout

Responses

Success

Bodyapplication/json
object(Services.CatenaAuthentication.LogoutResponse)
Response
application/json
{}

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