Skip to page content
Docs
Make Agent Fast documentation

SDK status

Choose the stable REST API or evaluate source-only preview clients without assuming registry availability.

At a glance

Choose the stable REST API or evaluate source-only preview clients without assuming registry availability.

API request pathScoped key → versioned resource → signed response
App / SDKBearer keymaf_live_…/api/v1/…ResourceJSON
REST availableOpenAPISDK preview

The versioned REST API is the supported public integration surface today. JavaScript, Python, and framework client source exists in the product repository, but the packages are not currently published to npm or PyPI.

Availability#

ClientStatusHow to use it
REST over HTTPSAvailableCall https://makeagent.fast/api/v1 from any server HTTP client
OpenAPI documentAvailableDownload /api/openapi.json and inspect it before generating a client
@make-agent-fast/sdkSource preview — not on npmDo not add this import to a production project until a registry release is linked here
makeagentfast Python packageSource preview — not on PyPIUse requests, httpx, or the Python standard library until a PyPI release is linked here
React, Vue, Svelte adaptersSource preview — not on npmPrefer the documented script-loader pattern for the framework
Web componentSource preview — not on npmPrefer the standard embed.js loader

JavaScript without an SDK#

const response = await fetch("https://makeagent.fast/api/v1/sites?limit=100", {
  headers: {
    Authorization: `Bearer ${process.env.MAF_API_KEY}`,
    Accept: "application/json",
  },
});

const body = await response.json();
if (!response.ok) {
  console.error(body.error.code, body.error.request_id);
  throw new Error(`Make Agent Fast request failed (${response.status})`);
}

for (const site of body.data) console.log(site.id, site.title);

Keep the API key on the server. A React, Vue, or Svelte browser bundle should call your own backend or install the public embed loader; it should not call the management API with a secret.

Python without an SDK#

import json
import os
import urllib.request

request = urllib.request.Request(
    "https://makeagent.fast/api/v1/sites?limit=100",
    headers={
        "Authorization": f"Bearer {os.environ['MAF_API_KEY']}",
        "Accept": "application/json",
    },
)

with urllib.request.urlopen(request, timeout=20) as response:
    payload = json.load(response)

for site in payload["data"]:
    print(site["id"], site["title"])

Catch urllib.error.HTTPError in production and parse its JSON body using the stable error envelope.

Generated clients#

OpenAPI generation is useful only when the document contains the operations and schemas your application depends on. Pin the downloaded specification, generate into a reviewable directory, and inspect every diff before upgrading.

curl --fail-with-body https://makeagent.fast/api/openapi.json \
  --output make-agent-fast.openapi.json

Do not automatically regenerate and deploy a client from the live URL. A new additive field should not break a client, but generator behavior and generated method names can still change.

What a public SDK release must include#

Before any preview client is marked available, it must have:

  • A public registry page and immutable semantic version.
  • Installation, upgrade, and supported-runtime instructions.
  • Typed request and response models generated from the complete API contract.
  • Structured errors that retain the HTTP status and request ID.
  • Pagination helpers that treat cursors as opaque.
  • Explicit idempotency-key support for mutations.
  • CI tests against the current /api/v1 contract and a published changelog.

Until those conditions are met, use the REST examples in API quickstart and API recipes.