---
search:
  tags:
    - customers
    - POST
seo:
  description: >-
    Import Vortex pricing-calculator quote requests… Reference for the POST
    /workspaces/{organizationId}/intake/quote-requests/sync endpoint in the Pile
    API.
sidebar:
  label: Create intake quote request sync
  badge: POST
title: Create intake quote request sync
type: openapi-operation
---
Import Vortex pricing-calculator quote requests (/v1/operator/quote-requests) as inbound leads. Each row upserts a customer keyed on externalId "vortex-quote:&lt;id>", writes the self-reported volume figures to customFields, upserts the contact, opens a lead-stage deal unless the merchant is already in the pipeline, and records a revenue_estimate signal. Pass quoteRequests inline or an operator key to pull from the Vortex API.

`POST /workspaces/{organizationId}/intake/quote-requests/sync`

**Request body** (`application/json`)

- `quoteRequests` (object[])
- `vortexOperatorKey` (string)

Request body example:

```json
{
  "quoteRequests": [
    {
      "id": "string",
      "businessName": "string",
      "merchantName": "string",
      "companyName": "string",
      "contactEmail": "string",
      "contactName": "string",
      "contactPhone": "string",
      "monthlyVolumeCents": 0,
      "avgTicketCents": 0,
      "currentProcessor": "string",
      "effectiveRateBps": 0,
      "estimatedAnnualSavingsCents": 0,
      "notes": "string",
      "createdAt": "string"
    }
  ],
  "vortexOperatorKey": "string"
}
```

**Responses**

- `200` — Quote requests synced
- `400` — Invalid request
- `502` — Vortex API fetch failed

Response example, 200:

```json
{
  "synced": 0,
  "created": 0,
  "updated": 0,
  "customers": [
    {
      "id": "string",
      "name": "string",
      "externalId": "string",
      "estMonthlyVolumeCents": 0,
      "score": 0
    }
  ]
}
```
