> ## Documentation Index
> Fetch the complete documentation index at: https://api.lawtte.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch imports contacts from a CSV payload

> Batch imports contacts from a CSV payload. Deduplicates by phone and email. Max 5,000 rows per request.



## OpenAPI

````yaml /api-reference/openapi.json post /api/contacts/import
openapi: 3.1.0
info:
  title: Lawtte API
  version: v2
  description: >-
    REST API behind the Lawtte dashboard: AI voice and chat calls, agent
    configuration, leads, campaigns, contacts, and automation workflows.
  contact:
    name: Lawtte support
    email: contact@lawtte.ai
    url: https://www.lawtte.ai
servers:
  - url: https://www.lawtte.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Voice & Chat
    description: Manage AI voice calls and chat sessions powered by Donna AI.
  - name: Agent Config
    description: Read and update AI agent prompts, voices, and configurations.
  - name: Appointments
    description: Check availability and book appointments via Cal.com integration.
  - name: Webhooks
    description: Receive real-time events after calls end.
  - name: Leads
    description: Create, manage, and analyze leads captured by your AI agents.
  - name: Campaigns
    description: Create and launch outbound call campaigns to lists of leads.
  - name: Contacts
    description: >-
      Import and sync contacts from CSV, OpenPhone, RingCentral, and practice
      management systems.
  - name: Workflows
    description: >-
      Build and manage automation workflows using a visual node-based flow
      editor.
  - name: Utilities
    description: Helper endpoints for AI-powered data extraction and widget testing.
paths:
  /api/contacts/import:
    post:
      tags:
        - Contacts
      summary: Batch imports contacts from a CSV payload
      description: >-
        Batch imports contacts from a CSV payload. Deduplicates by phone and
        email. Max 5,000 rows per request.
      operationId: post-contacts-import
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - firmSlug
                - contacts
              properties:
                firmSlug:
                  type: string
                  description: Firm identifier.
                contacts:
                  type: array
                  items:
                    type: object
                  description: Array of contact objects (name, phone, email).
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
              example:
                imported: 482
                duplicates: 18
                errors: 0
        '401':
          description: Missing or invalid credentials
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Lawtte API key or session token: `Authorization: Bearer <token>`.'

````

## Related topics

- [API overview](/api-reference/introduction.md)
- [Call webhooks](/guides/call-webhooks.md)
- [Webhook receiver for Cal.com booking events](/api-reference/appointments/webhook-receiver-for-calcom-booking-events.md)
- [Uses an LLM to extract caller names from call summaries or transcripts](/api-reference/utilities/uses-an-llm-to-extract-caller-names-from-call-summaries-or-transcripts.md)
- [Lists contacts for a firm with optional search and pagination](/api-reference/contacts/lists-contacts-for-a-firm-with-optional-search-and-pagination.md)
