---
title: "Nudge a sync for a contact or company (target='contact'|'company', id=UUID). Fires sync_requested webhook with the full"
method: POST
path: "/api/v1/sync"
tags: ["sync"]
---

# Nudge a sync for a contact or company (target='contact'|'company', id=UUID). Fires sync_requested webhook with the full

`POST /api/v1/sync`

## Request

- Base URL: `https://crispy.sh`
- URL: `https://crispy.sh/api/v1/sync`
- Auth: HTTP bearer

## Request body

- object
  - `target` 'contact' | 'company', required: Whether to sync a contact or a company record.
  - `id` string, required: UUID of the contact or company to sync (must belong to the caller's workspace).
  - `sync_type` string: Optional label routed into payload.data.sync_type for downstream sequencing (e.g. 'manual', 'enrichment').

## Response `200`

Success

## Other responses

- `401`: Missing or expired API key
- `403`: Insufficient key scope or permission denied
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crispy/apis/crispy-rest-api.md) · [All operations](https://skmtc.dev/crispy/apis/crispy-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crispy/apis/crispy-rest-api/revisions/6bed0974d9ce?raw)
