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

# Batch Update Customers

> Update multiple customers at once. Useful for bulk operations like status changes.



## OpenAPI

````yaml PATCH /customers/many
openapi: 3.0.0
info:
  title: PlanD API
  description: PlanD Public API
  version: '2'
servers:
  - url: http:localhost:3000/v2
    description: Local Server
  - url: https://beta-api.pland.app/v2
    description: Sandbox Server
  - url: https://cloud-api.pland.app/v2
    description: Production Server
security: []
tags:
  - name: Absences
    description: >-
      Absence management endpoints for creating, updating, and managing user
      absences
  - name: Activity Types
    description: Activity type management operations
  - name: API Keys
    description: API key management operations for programmatic access to the API
  - name: Assignments
    description: Assignment management operations
  - name: Chat (Legacy)
    description: >-
      Legacy chat operations using Stream Chat service (deprecated - use Entity
      Chat v2 instead)
  - name: Client
    description: Unauthenticated client-facing operations
  - name: Company
    description: Company information and settings management operations
  - name: Complaints
    description: Customer complaint and ticket management operations
  - name: Contacts
    description: Contact person management operations
  - name: Customers
    description: Customer management operations
  - name: Customer Objects
    description: >-
      Customer object management operations - locations and buildings where
      services are performed
  - name: Documents
    description: >-
      Document management operations for uploading, retrieving, and managing
      files
  - name: Logbuch
    description: >-
      Operations for sending, retrieving, updating, and deleting Logbuch in
      entity chats.
  - name: Push Notifications
    description: Operations for listing, reading, and deleting user notifications.
  - name: Equipment
    description: Equipment management operations
  - name: Equipment Types
    description: Equipment type management operations
  - name: Assignment Confirmations
    description: Assignment confirmation management operations
  - name: Credit
    description: >-
      Credit note management operations for creating and handling credit
      documents
  - name: Invoice
    description: >-
      Invoice management operations for creating, managing, and processing
      customer invoices
  - name: Invoice Reminders
    description: >-
      Invoice reminder management operations for creating and handling payment
      reminder documents
  - name: Invoice Reminder Templates
    description: >-
      Invoice reminder template management operations for creating and handling
      reminder document templates
  - name: Invoice Storno
    description: Invoice storno (cancellation) document management operations
  - name: Invoice Templates
    description: >-
      Invoice template management operations for creating and handling invoice
      document templates
  - name: Offers
    description: Offer management operations
  - name: ServiceReport
    description: >-
      Service report management operations for creating and handling service
      documentation
  - name: Holiday
    description: Holidays management
  - name: Implementation
    description: User implementation progress tracking and onboarding management
  - name: Jobs
    description: >-
      Endpoints for managing jobs, including creation, listing, updating, and
      job-specific actions.
  - name: Material Orders
    description: Operations for listing, viewing, updating, and managing material orders.
  - name: Notifications
    description: User notification management operations
  - name: Payment Methods
    description: >-
      Payment method management operations for configuring available payment
      options
  - name: Payment Terms
    description: Operations for managing payment terms
  - name: Payments
    description: Payment management operations
  - name: Articles
    description: >-
      Operations for creating, listing, viewing, updating, and deleting
      articles.
  - name: Suppliers
    description: Supplier management operations
  - name: Service Products
    description: >-
      Operations for creating, listing, viewing, updating, and deleting service
      products.
  - name: Quality Control
    description: Quality control and assessment management operations
  - name: Pay Types
    description: Pay type management operations for salary and absence types
  - name: Salary
    description: >-
      Salary management operations for tracking and managing employee
      compensation
  - name: Surcharges
    description: Surcharge management operations for pay types and salary calculations
  - name: Search
    description: Search for entities in PlanD
  - name: Signing
    description: Endpoints for creating and listing signings (digital signatures).
  - name: Tasks
    description: Task management operations
  - name: Task Types
    description: Task type management operations
  - name: Tax Rates
    description: >-
      Tax rate management operations for handling VAT, zero rates, exemptions,
      and reverse charge scenarios
  - name: Time Tracking
    description: >-
      Time tracking management endpoints for recording, monitoring, and managing
      work time entries
  - name: Assets
    description: Asset URL management operations for secure access to uploaded files
  - name: Upload
    description: >-
      CSV and file uploads for various entities (articles, material, users,
      customers, objects, contacts, equipment, images)
  - name: Users
    description: >-
      User management endpoints for creating, updating, and managing system
      users
  - name: Authentication
    description: User authentication and password management operations
  - name: Banking Transactions
    description: Banking transaction management operations
  - name: Webhooks
  - name: SMS
    description: Endpoints for SMS status updates and link tracking.
paths:
  /customers/many:
    patch:
      tags:
        - Customers
      summary: Batch update customers
      description: >-
        Update multiple customers at once. Useful for bulk operations like
        status changes.
      operationId: updateManyCustomers
      requestBody:
        description: Batch update data
        required: true
        content:
          application/json:
            schema:
              required:
                - ids
                - data
              properties:
                ids:
                  description: Array of customer IDs to update
                  type: array
                  items:
                    type: string
                    format: objectid
                data:
                  $ref: '#/components/schemas/Customer'
              type: object
      responses:
        '200':
          description: Customers updated successfully
          content:
            application/json:
              schema:
                properties:
                  modifiedCount:
                    description: Number of customers modified
                    type: integer
                type: object
        '400':
          description: Invalid input
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - API-Key: []
        - Bearer-Auth: []
components:
  schemas:
    Customer:
      title: Customer
      description: >-
        Customer entity representing a client company or individual who receives
        services
      required:
        - name
        - number
      type: object
      allOf:
        - $ref: '#/components/schemas/ChatableEntityModel'
        - properties:
            _id:
              description: Unique identifier for the customer
              type: string
              format: objectid
            number:
              description: Customer number (auto-generated if not provided)
              type: integer
              example: 1001
            name:
              description: Customer name or company name
              type: string
              example: ABC Cleaning Services GmbH
            contactPerson:
              description: Main contact person name
              type: string
              example: John Doe
            address:
              $ref: '#/components/schemas/AddressStruct'
            contact:
              $ref: '#/components/schemas/ContactStruct'
            contract:
              description: Contract information and terms
              type: object
            invoiceRecipientId:
              description: User ID who should receive invoices
              type: string
              format: objectid
              nullable: true
            invoiceCCRecipientIds:
              description: User IDs who should receive invoice copies
              type: array
              items:
                type: string
                format: objectid
            hideRecipientOnDocuments:
              description: Whether to hide recipient information on documents
              type: boolean
              default: false
            buyerReference:
              description: XRechnung Leitweg-ID for electronic invoicing
              type: string
              example: 04011000-1234512345-12
              nullable: true
            orderReferenceId:
              description: XRechnung supplier number (Lieferantennummer)
              type: string
              example: SUP-12345
              nullable: true
            vatNumber:
              description: Customer VAT number
              type: string
              example: DE123456789
              nullable: true
            debitorNumber:
              description: >-
                Custom debitor number (overwrites customer number for
                accounting)
              type: string
              example: DEB-001
              nullable: true
            paymentTermId:
              description: Payment term ID that overwrites company default for invoices
              type: string
              format: objectid
              nullable: true
            chatId:
              description: Chat session ID for customer communications
              type: string
              format: objectid
              nullable: true
          type: object
    ChatableEntityModel:
      title: Chatable Entity Model
      description: Base class for all entities that can have a chat associated with them.
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - properties:
            chatId:
              description: ID of the chat associated with this entity
              type: string
              format: objectid
              nullable: true
          type: object
    AddressStruct:
      description: Address
      properties:
        street:
          description: Street address
          type: string
        zip:
          description: ZIP/postal code
          type: string
        city:
          description: City
          type: string
        country:
          description: Country
          type: string
        co:
          description: Care of (c/o)
          type: string
        state:
          description: State/province
          type: string
      type: object
    ContactStruct:
      description: >-
        Contact information structure containing phone numbers, email, SMS
        details, and website
      properties:
        telephone:
          description: Primary telephone number
          type: string
          example: +1-555-123-4567
        mobile:
          description: Mobile phone number
          type: string
          example: +1-555-987-6543
        email:
          description: Email address
          type: string
          format: email
          example: contact@company.com
        sms:
          description: SMS contact number
          type: string
          example: +1-555-111-2222
        smsCount:
          description: Number of SMS messages sent
          type: integer
          example: 5
        smsChatCount:
          description: Number of SMS chat messages
          type: integer
          example: 12
        smsSendDate:
          description: Date when last SMS was sent
          type: string
          format: date-time
          example: '2024-01-15T10:30:00Z'
        smsSendBy:
          description: User ID who sent the SMS
          type: string
          example: user123
        website:
          description: Company website URL
          type: string
          format: uri
          example: https://www.company.com
        lastSMSStatus:
          description: Status of the last SMS sent
          type: string
          example: delivered
        secondSmsSendDate:
          description: Date when second SMS was sent
          type: string
          format: date-time
          example: '2024-01-16T14:45:00Z'
      type: object
    Entity:
      title: Entity
      description: >-
        Base class for all entities in the system, providing common properties
        and methods.
      properties:
        _id:
          description: Unique identifier of the entity
          type: string
          format: objectid
        number:
          description: Unique number of the entity, used for identification
          type: integer
        companyId:
          description: The ID of the company this entity belongs to
          type: string
          format: objectid
          x-internal: true
        status:
          $ref: '#/components/schemas/StatusStruct'
      type: object
    StatusStruct:
      description: Entity Status information
      properties:
        status:
          description: Current status
          type: integer
        createdAt:
          description: Creation timestamp
          type: string
          format: date-time
        createdBy:
          description: User who created this supplier
          type: string
          format: objectid
        lastModifiedAt:
          description: Last modification timestamp
          type: string
          format: date-time
        lastModifiedBy:
          description: User who last modified this supplier
          type: string
          format: objectid
      type: object
  securitySchemes:
    API-Key:
      type: apiKey
      name: x-API-Key
      in: header
    Bearer-Auth:
      type: http
      bearerFormat: JWT
      scheme: bearer

````