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

# Patch contact

## Field support per integration

<AccordionGroup>
  <Accordion title="Moneybird" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="18" width="22"><rect width="512" height="512" rx="15%" fill="#0075dd"/><path fill="#fff" d="M168 154c-26-2-63-11-83-20-11 73 10 118 37 141-3 64 64 122 138 122 69 0 134-44 143-116 0 0 27-6 27-18 0-13-25-17-27-18-10-65-58-91-118-91H191c-13 0-26 0-39-1zm181 60a18 18 0 1 1 0 36 18 18 0 0 1 0-36z"/></svg>}>
    <Note>
      If you're not using the [Interactive Authentication Flow](/authentication#interactive-authentication-flow), make sure the query parameter `companyId` is correctly populated.
      You can obtain this value by using the `GET Companies` endpoint available under the Authentication section.
    </Note>

    Supported Request Parameters:

    <ResponseField name="addresses" type="Address[]">
      <Expandable title="properties">
        <ResponseField name="addressLine1" type="string" />

        <ResponseField name="addressLine2" type="string" />

        <ResponseField name="city" type="string" />

        <ResponseField name="countryCode" type="enum">
          The country code in ISO 3166-1 alpha-2 format. For a complete list of available values, see our [standardized data](/standardization) section.
        </ResponseField>

        <ResponseField name="postalCode" type="string" />

        <ResponseField name="type" type="enum">
          Available options: `BILLING`
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="companyName" type="string" />

    <ResponseField name="contactPersons" type="ContactPerson[]">
      <Expandable title="properties">
        <ResponseField name="id" type="string" />

        <ResponseField name="firstName" type="string" />

        <ResponseField name="lastName" type="string" />

        <ResponseField name="emailAddresses" type="EmailAddress[]">
          <Expandable title="properties">
            <ResponseField name="email" type="string" />

            <ResponseField name="type" type="enum">
              Available options: `BUSINESS`
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="phoneNumbers" type="PhoneNumber[]">
          <Expandable title="properties">
            <ResponseField name="number" type="string" />

            <ResponseField name="type" type="enum">
              Available options: `BUSINESS`
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="contactType" type="enum" required>
      Available options:`COMPANY`, `CONTACT_PERSON`
    </ResponseField>

    <ResponseField name="emailAddresses" type="EmailAddress[]">
      <Expandable title="properties">
        <ResponseField name="email" type="string" />

        <ResponseField name="type" type="enum">
          Available options: `BUSINESS`
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="phoneNumbers" type="PhoneNumber[]">
      <Expandable title="properties">
        <ResponseField name="number" type="string" />

        <ResponseField name="type" type="enum">
          Available options: `BUSINESS`
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml patch /accounting/contacts/{contactId}
openapi: 3.0.0
info:
  title: Maesn unified API
  description: The Maesn unified API description
  version: '1.0'
  contact: {}
servers:
  - url: https://api.maesn.dev
security: []
tags:
  - name: maesn
    description: ''
paths:
  /accounting/contacts/{contactId}:
    patch:
      tags:
        - accounting
      operationId: patchContact
      parameters:
        - name: contactId
          required: true
          in: path
          schema:
            type: string
        - name: X-API-KEY
          description: API key
          in: header
          schema:
            type: string
          required: true
        - name: X-ACCOUNT-KEY
          description: Account key
          in: header
          schema:
            type: string
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactRequestDtoV2'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/BaseResponseDto'
                  - properties:
                      data:
                        $ref: '#/components/schemas/ContactResponseDtoV2'
components:
  schemas:
    ContactRequestDtoV2:
      type: object
      properties:
        id:
          type: string
          example: 92c4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/ContactAddressV2'
        companyName:
          type: string
          example: maesn
        contactPersons:
          type: array
          items:
            $ref: '#/components/schemas/ContactPersonV2'
        contactType:
          type: string
          enum:
            - CONTACT_PERSON
            - COMPANY
          example: CONTACT_PERSON
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/ContactEmailV2'
        isCustomer:
          type: boolean
          example: true
        isSupplier:
          type: boolean
          example: false
        number:
          type: string
          example: '1042'
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ContactPhoneV2'
        projectId:
          type: string
          example: '3'
        website:
          type: string
          example: https://www.maesn.com
      required:
        - contactType
    BaseResponseDto:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/MetaResponse'
        data:
          oneOf:
            - type: object
            - type: array
    ContactResponseDtoV2:
      type: object
      properties:
        id:
          type: string
          example: 92c4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/ContactAddressV2'
        companyName:
          type: string
          example: maesn
        contactPersons:
          type: array
          items:
            $ref: '#/components/schemas/ContactPersonV2'
        contactType:
          type: string
          enum:
            - CONTACT_PERSON
            - COMPANY
          example: CONTACT_PERSON
        createdDate:
          type: string
          example: '2025-06-01T11:09:11.533Z'
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/ContactEmailV2'
        isCustomer:
          type: boolean
          example: true
        isSupplier:
          type: boolean
          example: false
        number:
          type: string
          example: '1042'
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ContactPhoneV2'
        projectId:
          type: string
          example: '3'
        updatedDate:
          type: string
          example: '2025-06-01T11:09:11.533Z'
        website:
          type: string
          example: https://www.maesn.com
    ContactAddressV2:
      type: object
      properties:
        addressLine1:
          type: string
          example: Lucky street 1
        addressLine2:
          type: string
          example: 2nd floor
        city:
          type: string
          example: Berlin
        countryCode:
          type: string
          example: DE
        postalCode:
          type: string
          example: '10243'
        type:
          type: string
          enum:
            - BILLING
            - DELIVERY
            - PRIVATE
            - WORK
            - PICKUP
          example: BILLING
    ContactPersonV2:
      type: object
      properties:
        id:
          type: string
          example: 967188f6-8248-4765-b1e8-0f13a3ddb616
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/ContactEmailV2'
        firstName:
          type: string
          example: John
        lastName:
          type: string
          example: Doe
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ContactPhoneV2'
        salutation:
          type: string
          example: Mr
    ContactEmailV2:
      type: object
      properties:
        email:
          type: string
          example: john.doe@company.com
        type:
          type: string
          enum:
            - BUSINESS
            - PRIVATE
            - OFFICE
            - INVOICE
            - PAYMENT
            - OTHER
          example: BUSINESS
    ContactPhoneV2:
      type: object
      properties:
        number:
          type: string
          example: +49 7163307056
        type:
          type: string
          enum:
            - BUSINESS
            - MOBILE
            - OFFICE
            - FAX
            - PRIVATE
            - OTHER
          example: MOBILE
    MetaResponse:
      type: object
      properties:
        warnings:
          type: array
          items:
            type: string
            example: Field not used by target system
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
    PaginationResponse:
      type: object
      properties:
        total:
          type: number
          example: 125
        perPage:
          type: number
          example: 50
        currentPage:
          type: number
          example: 1
        totalPages:
          type: number
          example: 3

````