> ## 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.

# Put contact

## Field support per integration

<AccordionGroup>
  <Accordion title="Exact Online" icon="https://mintcdn.com/maesn/gCd41Ws3USFubam4/logo/exact.svg?fit=max&auto=format&n=gCd41Ws3USFubam4&q=85&s=afa1af7a261b22f843ac73ee60896ede" width="24" height="24" data-path="logo/exact.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>

    Support rawData: `false`

    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" required />

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

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

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

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

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

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

    <ResponseField name="contactType" type="enum" required>
      Available options:`COMPANY`
    </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="isCustomer" type="boolean" />

    <ResponseField name="isSupplier" type="boolean" />

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

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

    <ResponseField name="website" type="string" />
  </Accordion>

  <Accordion title="bexio" icon="https://mintcdn.com/maesn/51AaCYhZi3VILsjj/logo/bexio.svg?fit=max&auto=format&n=51AaCYhZi3VILsjj&q=85&s=1725cd998107a00ea8f7f9a83c250e29" width="24" height="24" data-path="logo/bexio.svg">
    Supported Request Parameters:

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

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

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

        <ResponseField name="countryCode" type="enum">
          Available options (ISO 3166-1 alpha-2):

          `AD`, `AE`, `AF`, `AG`, `AI`, `AL`, `AM`, `AO`, `AQ`, `AR`, `AS`, `AT`, `AU`, `AW`, `AX`, `AZ`, `BA`, `BB`, `BD`, `BE`, `BF`, `BG`, `BH`, `BI`, `BJ`, `BL`, `BM`, `BN`, `BO`, `BQ`, `BR`, `BS`, `BT`, `BV`, `BW`, `BY`, `BZ`, `CA`, `CC`, `CD`, `CF`, `CG`, `CH`, `CI`, `CK`, `CL`, `CM`, `CN`, `CO`, `CR`, `CU`, `CV`, `CW`, `CX`, `CY`, `CZ`, `DE`, `DJ`, `DK`, `DM`, `DO`, `DZ`, `EC`, `EE`, `EG`, `EH`, `ER`, `ES`, `ET`, `FI`, `FJ`, `FK`, `FM`, `FO`, `FR`, `GA`, `GB`, `GD`, `GE`, `GF`, `GG`, `GH`, `GI`, `GL`, `GM`, `GN`, `GP`, `GQ`, `GR`, `GS`, `GT`, `GU`, `GW`, `GY`, `HK`, `HM`, `HN`, `HR`, `HT`, `HU`, `ID`, `IE`, `IL`, `IM`, `IN`, `IO`, `IQ`, `IR`, `IS`, `IT`, `JE`, `JM`, `JO`, `JP`, `KE`, `KG`, `KH`, `KI`, `KM`, `KN`, `KP`, `KR`, `KW`, `KY`, `KZ`, `LA`, `LB`, `LC`, `LI`, `LK`, `LR`, `LS`, `LT`, `LU`, `LV`, `LY`, `MA`, `MC`, `MD`, `ME`, `MF`, `MG`, `MH`, `MK`, `ML`, `MM`, `MN`, `MO`, `MP`, `MQ`, `MR`, `MS`, `MT`, `MU`, `MV`, `MW`, `MX`, `MY`, `MZ`, `NA`, `NC`, `NE`, `NF`, `NG`, `NI`, `NL`, `NO`, `NP`, `NR`, `NU`, `NZ`, `OM`, `PA`, `PE`, `PF`, `PG`, `PH`, `PK`, `PL`, `PM`, `PN`, `PR`, `PT`, `PW`, `PY`, `QA`, `RE`, `RO`, `RS`, `RU`, `RW`, `SA`, `SB`, `SC`, `SD`, `SE`, `SG`, `SH`, `SI`, `SJ`, `SK`, `SL`, `SM`, `SN`, `SO`, `SR`, `SS`, `ST`, `SV`, `SX`, `SY`, `SZ`, `TC`, `TD`, `TF`, `TG`, `TH`, `TJ`, `TK`, `TL`, `TM`, `TN`, `TO`, `TR`, `TT`, `TV`, `TW`, `TZ`, `UA`, `UG`, `UM`, `US`, `UY`, `UZ`, `VA`, `VC`, `VE`, `VG`, `VI`, `VN`, `VU`, `WF`, `WS`, `YE`, `YT`, `ZA`, `ZM`, `ZW`
        </ResponseField>

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

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

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

    <ResponseField name="contactPersons" type="ContactPerson[]">
      <Note>
        Please note that bexio doesn't allow contact persons per company.
      </Note>

      <Expandable title="properties">
        <ResponseField name="salutation" type="enum">
          Available options: `Frau`, `Herr`, `Familie`, `Herr & Frau`
        </ResponseField>

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

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

        <ResponseField name="emailAddresses" type="string[]" />

        <ResponseField name="phoneNumbers" type="string[]" />
      </Expandable>
    </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`, `MOBILE`
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="website" type="string" />
  </Accordion>

  <Accordion title="Snelstart" icon="https://mintcdn.com/maesn/51AaCYhZi3VILsjj/logo/snelstart.svg?fit=max&auto=format&n=51AaCYhZi3VILsjj&q=85&s=a18e70fedba8b4166ced134d0ad1b8e3" width="24" height="24" data-path="logo/snelstart.svg">
    Supported Request Parameters:

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

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

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

        <ResponseField name="countryCode" type="enum" required>
          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="type" type="enum">
          Available options: `BILLING`, `DELIVERY`
        </ResponseField>
      </Expandable>
    </ResponseField>

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

    <ResponseField name="contactType" type="enum" required>
      Available options: `COMPANY`
    </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="isCustomer" type="boolean" />

    <ResponseField name="isSupplier" type="boolean" />

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

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

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

  <Accordion title="Xero" icon="https://mintcdn.com/maesn/51AaCYhZi3VILsjj/logo/xero.svg?fit=max&auto=format&n=51AaCYhZi3VILsjj&q=85&s=4496b21aab750469b3d5e96a1588d9f0" width="45" height="46" data-path="logo/xero.svg">
    Supported Request Parameters:

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

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

        <ResponseField name="postalCode" 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="type" type="enum">
          Available options: `BILLING`, `DELIVERY`
        </ResponseField>
      </Expandable>
    </ResponseField>

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

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

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

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

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

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

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

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


## OpenAPI

````yaml put /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}:
    put:
      tags:
        - accounting
      operationId: putContact
      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'
                        type: object
components:
  schemas:
    ContactRequestDtoV2:
      type: object
      properties:
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/ContactAddressV2'
        companyName:
          type: string
          example: maesn
        contactPersons:
          type: array
          items:
            $ref: '#/components/schemas/ContactPersonV2Request'
        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
    ContactPersonV2Request:
      type: object
      properties:
        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'
    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
    PaginationResponse:
      type: object
      properties:
        total:
          type: number
          example: 125
        perPage:
          type: number
          example: 50
        currentPage:
          type: number
          example: 1
        totalPages:
          type: number
          example: 3

````