Skip to content
← BlogStrategy

A tour of the Norbelys developer portal

REST API, OpenAPI spec, four SDKs, the CLI, and the MCP server — everything at norbelys.com/developers/, and where to start depending on what you're building.

By Norbelys Chirinos, Co-founder

Founder-reviewed ·How we research and correct articles

norbelys.com/developers/ is the one page that lists everything a developer or an AI agent can use to drive Norbelys without touching the dashboard. It’s not a marketing page dressed up as documentation — every link on it goes somewhere real: a live spec, a published package, a working server. This is a walk through what’s actually there, and a short answer to the question most people land on that page actually asking: where do I start?

What’s on the page

Eight resources, each pointing at something concrete rather than a promise of one:

The REST API — base URL https://api.norbelys.com/v1. Bearer auth, cursor pagination, typed errors. This is the thing every other surface on the page is a projection of.

The OpenAPI 3.1 spechttps://api.norbelys.com/openapi.json, 83 operations as of this writing. It’s generated straight from the same typed contract the API worker implements, not a hand-maintained file someone updates when they remember to. A full tour of what’s in it is worth reading if you plan to import it into Postman, Insomnia, or a code generator.

The API documentation at docs.norbelys.com — guides, a quickstart, and the full reference with code samples, for reading prose instead of a raw spec.

Four official SDKs@norbelys/sdk on npm, norbelys on PyPI, plus Go and Ruby. All generated from the OpenAPI spec above, which means the method names and field names match the API documentation exactly, with no translation layer to drift out of sync over time.

The norbelys CLInpm i -g norbelys, or curl -fsSL https://cli.norbelys.com/install | sh if you’d rather skip npm entirely. Generated from the same contract as the API, so every resource command exists because the endpoint exists.

The MCP server at mcp.norbelys.com/mcp — Streamable HTTP, roughly 82 tools, for driving Norbelys from Claude, Cursor, or an agent you built yourself. The full mechanics — auth, tool annotations, what it deliberately doesn’t do are covered elsewhere; this page is just where you find the URL.

Agent authentication at norbelys.com/auth.md — API keys for headless and CI callers, OAuth 2.1 discovery (via /.well-known/oauth-protected-resource) for interactive agents that can complete a sign-in flow. One document, both paths explained.

The agent kit on GitHub (norbelys-com/agents) — AGENTS.md, agent skills, and Cursor rules for how an AI agent should actually use Norbelys, so building an agent against the platform starts from a template instead of a blank file.

The page also has a search box wired for both humans and in-browser AI agents (it’s exposed via WebMCP with a described tool, search_norbelys) — worth knowing about if you’re testing how discoverable the site itself is to an agent poking around it. It’s a small detail, but it’s consistent with the rest of the portal’s philosophy: the developer surface isn’t only for people typing into a terminal by hand, it’s also built to be legible to the agents that increasingly do the typing on a developer’s behalf.

None of the eight resources duplicates another — that’s worth noticing, because plenty of developer portals pad themselves out with three different pages that all describe the same auth flow in slightly different words. Here, the docs site explains concepts, the OpenAPI spec is the machine-readable ground truth, the SDKs are how you consume it in application code, the CLI is how you consume it from a terminal, the MCP server is how an agent consumes it, and auth.md plus the agent kit cover the two things that don’t fit neatly into any of the others: how credentials actually work, and how to structure an agent that behaves well once it has one.

Authentication, in one paragraph

Two paths, covered once instead of once per surface. Headless and CI callers use an org-scoped API key (ak_...) created in the app, sent as Authorization: Bearer ak_.... Interactive agents — the kind that can complete a browser-based consent flow — register through OAuth 2.1 using the metadata at /.well-known/oauth-protected-resource. Whichever path you use, it’s the same credential the CLI, the SDKs, and the MCP server all authenticate with — there’s no separate auth system per surface to learn.

Where to start, based on what you’re building

The portal lists eight things at once, which is useful as a reference and slightly overwhelming as a starting point. In practice, what you’re building narrows it to one or two resources immediately:

  1. Building an internal tool or a one-off script

    Start with an SDK — @norbelys/sdk (npm) or norbelys (PyPI), or the Go/Ruby packages. Typed methods, pagination handled, generated from the OpenAPI spec so the field names match the docs exactly. This is the fastest path if you're writing application code.

  2. Automating something from your terminal or CI pipeline

    Install the norbelys CLI (npm i -g norbelys or the curl installer) and authenticate with norbelys login --api-key. Good fit for scheduled checks, pre-deploy gates, and anything that's currently a manual dashboard click on a recurring schedule — see the full case for why a CLI exists at all.

  3. Wiring up an AI agent — Claude, Cursor, or your own

    Point the client at mcp.norbelys.com/mcp with your API key or an OAuth sign-in. The agent gets the platform as callable tools immediately, with the same guardrails the dashboard enforces. The agent kit on GitHub is worth cloning first if you're building a custom agent rather than using an off-the-shelf client.

  4. You're not sure yet, or want to see everything raw

    Fetch the OpenAPI spec directly and read the paths object, or import it into Postman/Insomnia. It's the one document every other surface is generated from, so reading it tells you what's possible before you've picked a client language.

  5. You're an agency building tooling for multiple clients

    Read the agency-specific case for what the MCP server opens up beyond a single-workspace integration — client-scoped agents, not just a client-scoped dashboard login.

What the API itself looks like, briefly

It’s worth knowing the shape of the REST API before you pick a surface to build on, since every other resource on the portal is a projection of it. Requests use bearer auth, list endpoints use cursor pagination rather than page numbers (so results stay stable while your data changes underneath a long-running export), and errors come back typed and specific rather than a generic 400 with a vague message. None of that is unusual for a modern API on its own, but it’s worth confirming before you commit to building against something, and the fastest way to confirm it is to read a few operations in the spec directly rather than take a docs page’s word for it.

Reading the portal like a developer, not a visitor

The page reads differently depending on what you already know. A visitor sees eight links and a search box. A developer evaluating whether to build on the platform should treat it as a checklist to verify, not a page to skim: does the OpenAPI spec actually match what the REST API returns (it does, because one generates the other); does the CLI’s install command actually work without a support ticket (curl -fsSL https://cli.norbelys.com/install | sh, no signup required to try it); is the MCP server’s tool count consistent with the number of operations in the spec (it should track closely, since both are generated from the same source). Treating the portal this way — as a set of claims you can check in under ten minutes — is a more useful first visit than reading the page top to bottom and moving on.

Why one page is enough

The portal works as a single entry point because everything it links to comes from the same place underneath — one typed contract, generating every surface, rather than five separately maintained products that happen to share a homepage. That’s why the page doesn’t need a “getting started” wizard or a decision tree beyond the five paths above: whichever surface fits your workflow, the operations available, the field names, and the authentication model are identical. Pick based on how you like to work, not based on which surface happens to support the feature you need this week.

If you’re a technical founder deciding whether to build your outbound operation this way at all, that’s a longer, persona-specific case. If you’ve already decided and just want the numbers, pricing is the last page you need before creating an API key.