Authenticated endpoints take an API key that belongs to one business, in the x-api-key header or as Authorization: Bearer. Health, the OpenAPI spec and the reference are public. Keys carry permissions, read by default. A missing, invalid, revoked or expired key answers 401; a key without the permission an operation needs answers 403. When the account's subscription is not active, every authenticated call answers 402 (subscription_inactive). More than 30 failed key attempts a minute from one address answer 429 (auth_rate_limited).
An API you’d actually want to ship on.
Public REST API, OpenAPI 3.1 spec and interactive reference, and HMAC-signed webhooks. API keys and webhook subscriptions are not self-serve today.
# Illustrative, read-only request. Use your own API key.
# Authorization: Bearer <key> works in place of x-api-key.
curl "https://app.gogoengine.com/api/v1/equipment?page=1&limit=25" \
-H "x-api-key: ${GOGO_API_KEY}"{
"data": [
{
"id": "6f1d2c3e-8a4b-4c5d-9e6f-0a1b2c3d4e5f",
"slug": "pontoon-boat",
"name": "Pontoon Boat",
"hourly_rate": null,
"daily_rate": 285,
"weekly_rate": 1500,
"quantity": 2,
"payment_schedule_type": "full",
"is_featured": true,
"location_id": "0b9a8c7d-6e5f-4a3b-8c2d-1e0f9a8b7c6d",
"category_id": "5e4d3c2b-1a0f-4e9d-8c7b-6a5f4e3d2c1b"
}
],
"pagination": {
"page": 1,
"limit": 25,
"total": 1,
"totalPages": 1
}
}The conventions we ship on.
List endpoints are page-based: page starts at 1, and limit defaults to 25 on most lists, up to 100. Larger values are clamped to 100. Responses return data plus a pagination object with page, limit, total and totalPages.
JSON with an error sentence safe to show a customer. Most failures add a stable code to branch on and a retryable flag; some add detail or hint. A 500 or 503 means the engine could not answer, never an empty result.
Creating a customer or a booking accepts Idempotency-Key. A repeated key returns the original response without creating a second record; the same key with a different body is refused.
Each API key has a per-minute limit, 100 requests by default. Headers include X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; over the limit answers 429 (rate_limited) with Retry-After. If the limiter cannot be reached, the call answers 503 (rate_limit_unavailable), which is safe to retry.
URL-versioned. The current and only version is /v1.
Booking, payment, new-customer, location and catalog events. HMAC-SHA256 signed with a timestamp so your endpoint can reject replays. Each delivery gets up to six attempts, with the wait doubling between them, and a subscription is switched off after 25 failed attempts in a row.
No SDK packages are available today. Use the OpenAPI 3.1 spec and the interactive reference.
No published guides yet. The interactive reference documents each endpoint.