Official PHP SDK for the TeamBattles public developer API.

Maintainers

Package info

github.com/TeamBattles/sdk-php

pkg:composer/teambattles/sdk

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.0 2026-06-11 01:02 UTC

This package is auto-updated.

Last update: 2026-06-11 01:27:08 UTC


README

Official PHP SDK for the TeamBattles public developer API.

Auto-generated from the TeamBattles OpenAPI 3.1 specification with Microsoft Kiota. This README is generated by pnpm sdk:docs and regenerates on every API change - do not edit it by hand.

  • Language: PHP
  • Registry: Packagist
  • Maturity: Stable

Install

composer require teambattles/sdk

Dependencies

The generated client is a thin veneer over the shared Kiota runtime. This package depends on:

  • microsoft/kiota-abstractions
  • microsoft/kiota-http-guzzle
  • microsoft/kiota-serialization-json
  • microsoft/kiota-serialization-text
  • microsoft/kiota-serialization-form
  • microsoft/kiota-serialization-multipart

Create a client

Construct a client once with your API key. The factory wires a bearer-token authentication provider and points the client at the production base URL.

<?php
use TeamBattles\Sdk\TeamBattlesClientFactory;

$client = TeamBattlesClientFactory::create(getenv('TEAMBATTLES_API_KEY'));

First call: list the authenticated user's matches

// List the authenticated user's matches (requires matches.user_matches: read)
$body = new MatchesRequestBody();
$body->setNumItems(25);
$result = $client->user()->matches()->post($body)->wait();
foreach ($result->getPage() as $match) {
    echo $match->getId() . ' ' . $match->getStatus()->value . PHP_EOL;
}

Authentication

Every request is authenticated with an API key sent as a bearer token:

Authorization: Bearer tb_<your-key>

Create and manage keys at Settings > Developer. Keys carry granular permission scopes - listing the authenticated user's matches requires matches.user_matches: read.

Errors return a JSON body of the form { "error": "<machine_code>", "details": "<optional message>" }. Treat the error machine code - not the details message - as the stable programmatic contract: branch on error, and use details only for human-readable context (it may be absent on auth and permission errors).

Documentation

License

MIT