# SalesBuildr API Patterns

> Salesbuildr API fundamentals: api-key header authentication, offset-based from/size pagination, error handling, and the 500 requests per 10 minutes rate limit.

- Skill: `wyre-ai/salesbuildr-api-patterns` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wyre-ai/salesbuildr-api-patterns`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wyre-ai/salesbuildr-api-patterns/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: WYRE-AI (https://skillmd.com/u/wyre-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wyre-ai/salesbuildr-api-patterns

---


# Salesbuildr API Patterns

## Overview

The Salesbuildr public API provides REST endpoints for managing CRM data. All requests require an API key and follow consistent patterns for pagination and error handling.

## Authentication

Every API request must include the `api-key` header:

```
Headers:
  api-key: ${SALESBUILDR_API_KEY}
  Content-Type: application/json
```

API keys are generated in the Salesbuildr portal under Settings > API Keys.

## Base URL

```
https://portal.salesbuildr.com/public-api
```

## Pagination

All list endpoints use offset-based pagination:

| Parameter | Type | Default | Max | Description |
|-----------|------|---------|-----|-------------|
| from | number | 0 | - | Starting index (0-based offset) |
| size | number | 20 | 100 | Number of results per page |

Example: To get page 2 with 25 results per page:
```
GET /companies?from=25&size=25
```

## Rate Limiting

- **Limit:** 500 requests per 10 minutes
- **Strategy:** Implement conservative request patterns
- **Backoff:** If rate limited, wait and retry with exponential backoff

## Error Handling

| Status Code | Meaning | Resolution |
|-------------|---------|------------|
| 400 | Bad Request | Check request body/parameters |
| 401 | Unauthorized | Verify API key is correct |
| 403 | Forbidden | Check API key permissions |
| 404 | Not Found | Resource doesn't exist |
| 429 | Rate Limited | Wait and retry |
| 500 | Server Error | Retry after delay |

## Common Request Patterns

### Search with filtering
```
GET /companies?search=acme&from=0&size=25
```

### Get by ID
```
GET /companies/12345
```

### Create resource
```
POST /contacts
Content-Type: application/json

{
  "first_name": "John",
  "last_name": "Doe",
  "email": "john@example.com",
  "company_id": 12345
}
```

### Update resource
```
PATCH /opportunities/12345
Content-Type: application/json

{
  "stage": "proposal",
  "value": 15000
}
```

