# Import and export

URL: /code/platform/import-export · Id: `capability:import-export`

> Import and export bring a Customer’s records in from another tool and hand every record back in one call.

Import and export bring a [Customer](/business/nouns/customer)’s records in from another tool and hand every record back in one call.

## Contract
Import maps another tool's records onto the [Startup](/business/nouns/startup)'s [Nouns](/business/nouns/noun). Export hands every record back in open formats.

| Rule | Detail |
| --- | --- |
| [Mapping](/business/nouns/mapping) | Columns map to Noun fields, previewed before anything writes |
| Test first | An import runs in test and reports every row that fails |
| Idempotent | A rerun of the same file writes nothing new |
| Export | One call exports every record of a [Tenant](/business/nouns/tenant) or a Startup as JSON and CSV |
| Ownership | A Customer can export its own records at any time |

## Verbs
| Verb | Object | Event |
| --- | --- | --- |
| [Startup.import](/business/nouns/startup/import) | [Startup](/business/nouns/startup) | [`Startup.imported`](/business/events/Startup.imported) |

## Interfaces
- [API](/code/api/reference)
- [SDK](/code/sdk/reference)
- [CLI](/code/cli/reference)
- [MCP](/code/mcp/reference)

## Example
A recruiting agency moves 40,000 candidates from a spreadsheet into a candidate-matching [SaaS](/products/templates/saas). The test run flags 112 rows with bad emails, the agency fixes them, and the live import writes 40,000 records in one [Change](/business/nouns/change).