# Developers

URL: /code/developers · Id: `page:code/developers`

> Where a developer starts: one set of Nouns and Verbs, served the same way through the API, SDK, CLI, and MCP.

Every [StartupBuilder](/code/builders/startup) operation is one [Verb](/business/nouns/verb) on one [Noun](/business/nouns/noun), and every [Interface](/business/nouns/interface) serves it with the same name and input. Pick an Interface; the operation stays the same.

| Interface | Learn | Look up |
| --- | --- | --- |
| API | [API](/code/api) | [API routes](/code/api/reference) |
| SDK | [SDK](/code/sdk) | [SDK methods](/code/sdk/reference) |
| CLI | [CLI](/code/cli) | [CLI commands](/code/cli/reference) |
| MCP | [MCP](/code/mcp) | [MCP programs](/code/mcp/reference) |
| `create startups` | [Scaffold a project](/code/create-startups) | [create-startups](/code/cli/create-startups) |

| To | Learn | Look up |
| --- | --- | --- |
| Make the first call | [Call your first Verb](/code/mcp/guides/call-your-first-verb) | [The envelope](/code/api/guides/envelope) |
| Ship a [Startup](/business/nouns/startup) from code | [Taking deposits in five minutes](/code/quickstart) | [project structure](/code/project-structure) |
| Learn the grammar | [Definitions as code](/code/builders/startup/business-as-code) | [Nouns](/business/nouns-and-verbs), [Verbs](/business/verbs), [events](/business/events), [errors](/code/api/errors) |
| Choose how a call runs | [try, send, or do](/code/api/guides/modes) | [Mode](/business/nouns/mode), [Action](/business/nouns/action) |
| Test without side effects | [Test and live](/code/cli/guides/environments) | [Errors and testing](/code/sdk/guides/errors-and-testing) |
| Sign requests | [Authentication](/code/api/guides/authentication) | [Permission](/business/nouns/permission) |
| React to changes | [Webhooks](/code/api/guides/webhooks) | [Event](/business/nouns/event) |

One operation, publishing an [Offer](/business/nouns/offer), through each Interface:

**Ask**

```text
Publish the offer “RouteWise API”.
```

**API**

```bash
curl -X POST https://api.sb/routewise.dev/offers/offer_1/publish \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
```

```json
{
  "api": "https://api.sb/routewise.dev",
  "offer": {
    "$id": "https://api.sb/routewise.dev/offers/offer_1",
    "$type": "Offer",
    "price": {
      "amount": 25,
      "currency": "USD"
    }
  },
  "action": {
    "$id": "https://api.sb/routewise.dev/actions/action_1",
    "operation": "Offer.publish",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/routewise.dev/actions/action_1"
  }
}
```

**SDK**

```ts
import { $ } from 'startup-builder'

const offer = await $.Offer.publish({ offer: 'offer_1' })
```

**CLI**

```bash
npx startup-builder do Offer.publish --json '{"offer":"offer_1"}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Offer.publish({ offer: 'offer_1' })"
  }
}
```