---
title: API Overview
subtitle: Key concepts for working with the Close REST API.
slug: /api/overview/
---

**Base URL:** `https://api.close.com/api/v1`

Close uses industry-standard REST conventions with predictable URL structures, standard HTTP methods, and JSON request/response bodies.

## Authentication

All API requests require authentication. Two methods are supported:

- **[API Keys](/api/overview/api-key-authentication)** — Best for scripts, internal tools, and server-side integrations. Use HTTP Basic Auth with your API key as the username and an empty password.
- **[OAuth 2.0](/api/overview/oauth-authentication)** — Best for user-facing integrations.

## Core concepts

| Concept | Description |
|---------|-------------|
| [Leads](/api/resources/leads) | Companies or organizations — the primary object in Close. Contain contacts, tasks, opportunities, and activities. |
| [Contacts](/api/resources/contacts) | Individual people within a lead. |
| [Opportunities](/api/resources/opportunities) | Potential deals tracked through pipeline stages. |
| [Activities](/api/resources/activities) | Calls, emails, notes, SMS, meetings, and other interactions logged on leads. |
| [Custom Fields](/api/resources/custom-fields) | Store arbitrary data on leads, contacts, opportunities, and custom activities. |

## Making requests

- All requests use JSON (`Content-Type: application/json`).
- `PUT` requests behave as patches — send only the fields you want to update. See [Fields](/api/overview/fields).
- List endpoints support [pagination](/api/overview/pagination) via `_skip`/`_limit` or cursor-based pagination.
- Use the [`_fields` parameter](/api/overview/fields) to control which fields are returned and improve performance.
- [Rate limits](/api/overview/rate-limits) apply to all endpoints. Handle `429` responses with exponential backoff.

## Real-time data

- **[Webhooks](/api/resources/webhooks)** — Subscribe to events and receive POST notifications when data changes.
- **[Event Log](/api/resources/events)** — Query the last 30 days of changes to any object.

## HTTP response codes

| Code | Meaning |
|------|---------|
| `200` | Success |
| `201` | Created (newer endpoints) |
| `400` | Bad request — check your parameters |
| `401` | Unauthorized — invalid or missing credentials |
| `404` | Not found |
| `429` | Rate limited — back off and retry |

See [HTTP Response Codes](/api/overview/http-response-codes) for the full list.

## OpenAPI Spec

We publish an OpenAPI spec at:
https://api.close.com/api/openapi.json

Note: This spec is currently considered experimental and does not contain 100% coverage of request/response schemas.
