# exportProperties

Export properties (esIds) to a spreadsheet. Selection: `ids` (selectAll false), or a saved `filterId` with `selectAll: true` (every match; `excludeIds` leaves some out) or `selectCount: N` (the first N); `totalCount` is how many the selection holds (round up for a filter) and `estimatedItemCount` the same count. `fileName` names the file. `includeStreetViewImages` adds a Street View link per row. Spends export credits: the same credits as the app with no other cap (plan allowance first, then real money; checkBillingAction first), so name the count and the credits and have the person agree before a large one. Async: poll getBulkTask(bulkTaskId); the file is getExportReport(dataExportId) once it finishes. ADMIN: the key owner must currently be an org admin.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "exportProperties", "variables": {...} }`
- Scope: `ADMIN`
- Type: mutation
- Idempotency: honors `Idempotency-Key` (24 h)
- Rate-limited: no

## Variables

- `ids`: `[String!]`
- `filterId`: `ID`
- `selectAll`: `Boolean` (default `false`)
- `selectCount`: `Int`
- `excludeIds`: `[String!]`
- `totalCount`: `Int!` (required)
- `estimatedItemCount`: `Int!` (required)
- `fileName`: `String`
- `includeStreetViewImages`: `Boolean`

## Response (data, an example)

```json
{
  "exportMutation": {
    "startStandardExport": {
      "dataExportId": "<ID>",
      "bulkTaskId": "<ID>"
    }
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "operationId": "exportProperties",
    "variables": {
      "totalCount": 10,
      "estimatedItemCount": 10
    }
  }'
```
