Zum Inhalt springen

Pools-API-Referenz

Reservierte Browser-Pools über die API verwalten: Anlegen mit Gesamtgröße, warm- und inUse-Zähler lesen, Größe per PATCH ändern, sauber löschen.

Zuletzt aktualisiert:

Ein Pool hält Browser vor der Nachfrage am Laufen, sodass eine Session einen beansprucht, statt auf einen Container-Bau zu warten. Fünf Endpunkte verwalten sie, alle hinter der vertrauten Bearer-Authentifizierung mit deinem bb_-Schlüssel. Reservierte Browser sind ein bezahltes Kontingent, abgerechnet als Bestand, solange sie reserviert sind.

POST /v1/pools

Legt einen Pool an und beginnt, ihn auf Größe zu füllen.

Create-Body

Name Typ Beschreibung
name erforderlich string Bis zu 80 Zeichen.
size erforderlich integer 1 bis 250 — und eine Gesamtzahl: warme Browser plus die aktuell von Sessions beanspruchten.
shape object Die Browser-Form, mit der jeder Pool-Browser gestartet wird; sie steht für die Lebensdauer des Pools fest.
GET /v1/pools

Listet deine Pools mit ihren Zählern.

GET /v1/pools/:id

Liest einen Pool, inklusive `warm` und `inUse`.

Zähler und zwei Ablehnungen

warm und inUse sind Live-Zahlen aus der Flotte — oder null, wenn die Flotte nicht gefragt werden konnte, was gemeldet statt geraten wird. Zwei Ablehnungen definieren Pool-Sessions: Ein leerer Pool fällt nie auf einen Kaltstart zurück (der Pool würde zum Hinweis statt zum Kapazitätsplan), und eine Session darf keine andere Form als die des Pools verlangen, denn diese Browser laufen bereits, mit bei Start fixierter Locale.

PATCH /v1/pools/:id

Benennt den Pool um oder ändert seine Größe; der Body nimmt `name`, `size` oder beides.

DELETE /v1/pools/:id

Löscht den Pool; Sessions, die bereits einen Browser beansprucht haben, behalten ihn.

Einmal rund um einen Pool

Legt einen Pool mit einem Browser an, liest die Zähler und löscht ihn wieder.

Voraussetzungen: api-key paid-plan

BASE="https://browserberg.com"
AUTH="Authorization: Bearer $BROWSERBERG_API_KEY"
JSON="Content-Type: application/json"

# Size is a TOTAL: warm browsers plus browsers already claimed by sessions.
POOL=$(curl -s -X POST "$BASE/v1/pools" -H "$AUTH" -H "$JSON" \
  -d '{ "name": "Docs walkthrough", "size": 1, "shape": { "locale": "de-DE" } }')
PID=$(echo "$POOL" | python3 -c 'import json,sys; print(json.load(sys.stdin)["pool"]["id"])')

curl -s "$BASE/v1/pools/$PID" -H "$AUTH" \
  | python3 -c 'import json,sys; p = json.load(sys.stdin)["pool"]; print(json.dumps({
      "name": p["name"], "size": p["size"], "warm": p["warm"], "inUse": p["inUse"]}, indent=2))'

curl -s -X DELETE "$BASE/v1/pools/$PID" -H "$AUTH" > /dev/null

Weiterführend

  • Anleitung Session-Pools Wann sich ein Pool lohnt, samt Kaltstart-Zahlen
  • Tarife und Kontingente Wie viele reservierte Browser jeder Tarif enthält
  • Sessions-Referenz Beim Anlegen mit poolId beanspruchen