Batch update contacts

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://restapi.wyzio.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Wyzio MCP server": {
    "url": "https://restapi.wyzio.com/mcp"
  }
}

Close
POST /api-v1/contact/batch

Updates multiple contacts. Returns 200 on success, or 400 if any entry fails validation.

Headers

  • WEAL-TOKEN Required

    API token (can be retrieved from account settings)

  • TARGET-ORGANIZATION-ID

    ID of organization, for which the operation must be performed

application/json

Body object Required

One of:

Responses

  • 200 application/json

    OK

    Hide response attribute Show response attribute object
    • items array[object]
      Hide items attributes Show items attributes object
      • errorCode object
        Hide errorCode attributes Show errorCode attributes object
        • errorCode string

          Values are NO_ERROR, NOT_IMPLEMENTED_YET, CONTACT_NOT_FOUND, FIELD_REQUIRED, VALIDATION_ERROR, DUPLICATION_ERROR, UNIQUE_CONSTRAINT_VIOLATION, WRONG_PASSWORD_FORMAT, WRONG_PASSWORD, ACTION_DENIED, NOT_FOUND, EXPECTED_ONE_FILE, UNIQUE_VIOLATION, CONTENT_EMPTY, INVALID_TYPE, CONVERSION_ERROR, FILE_PARSE_EXCEPTION, or IN_USE.

        • errorDetailValues array[object]
          Hide errorDetailValues attributes Show errorDetailValues attributes object
          • errorCode string
          • fieldName string
          • data string
          • isSevere boolean
      • freshData

        Refreshed domain data

      • freshRow

        Refreshed table row data

      • possibleWorkflows array[object]
        Hide possibleWorkflows attributes Show possibleWorkflows attributes object
        • id integer(int64)
        • name string
      • error boolean
      • severeError boolean
  • 400

    400 Bad Request

  • 401

    401 Unauthorized

  • 403

    403 Access Denied

  • 404

    404 Not Found

  • 500

    500 Internal Server Error

POST /api-v1/contact/batch
curl \
 --request POST 'https://wyzio.app/api-v1/contact/batch' \
 --header "Content-Type: application/json" \
 --data '[{"contactId":12345678,"isCustomer":true,"isVendor":false,"defaultLanguage":"EN","phone":"+41 22 000 00 00","fax":"+41 22 000 00 01","mobile":"+41 79 000 00 00","email":"contact@example.com","webSite":"https://example.com","archived":false,"externalId":"EXT-001","organizationId":12345678,"addresses":[{"id":12345678,"name":"Main Office","line1":123,"line2":"Suite 4B","city":"Geneva","region":{"id":206},"countryCode2":"CH","countryId":12345678,"postCode":1200,"houseNumber":42,"toTheAttentionOf":"John Doe","position":1,"service":"HR"}],"banks":[{"id":12345678,"name":"Main Account","accountNumber":"CH56 0483 5012 3456 7800 9","swiftBic":"UBSWCHZH80A","bankName":"UBS AG","remark":"Primary account","position":1,"chartOfAccounts":12345678,"accountHolderAddress":{"id":12345678,"name":"Main Office","line1":123,"line2":"Suite 4B","city":"Geneva","region":{"id":206},"countryCode2":"CH","countryId":12345678,"postCode":1200,"houseNumber":42,"toTheAttentionOf":"John Doe","position":1,"service":"HR"},"customHolder":false}],"communications":[{"id":12345678,"date":"01/06/2026","type":"EMAIL","description":"Follow-up call","longDescription":"Discussed contract renewal terms","ourContactId":12345678,"externalContactId":12345678}],"additionalInformation":[{"id":12345678,"note":"VIP client — handle with priority","tag":{"id":12345678,"name":"Tag name"}}],"tags":[{"id":12345678,"name":"Tag name"}],"contactType":"PERSON","firstName":"John","middleName":"Paul","lastName":"Doe","nationalityCountryId":12345678,"birthday":"15/03/1985","gender":"MALE","isStaff":false,"isUser":false,"avatarId":12345678,"loginEmail":"john.doe@example.com","isMainUser":false,"isEmployee":true,"isActive":true,"relatedOrganizationContactIds":[12345678],"supplier":{"id":12345678,"businessUnitId":12345678,"paymentAccountId":12345678,"balanceSheetAccountId":12345678,"currencyId":12345678,"paymentTerms":30,"feeSplitType":"NONE","contactId":12345678,"vatNumber":"CHE-123.456.789 MWST","vatType":"NO_VAT","vatTypeCodeId":12345678,"vatRateId":12345678,"officeId":12345678,"delayDiscounts":[{"id":12345678,"delayDays":10,"discountPercent":2.0}],"placcountId":42},"client":{"id":12345678,"businessUnitId":12345678,"paymentAccountId":12345678,"balanceSheetAccountId":12345678,"currencyId":12345678,"orderAddressName":"Main Office","invoiceAddressName":"Billing Department","paymentTerms":30,"lateNoticeMargin":10,"clientDiscountRate":5.0,"creditLimit":10000.0,"contactId":12345678,"vatNumber":"CHE-123.456.789 MWST","advancedInvoicingNote":"Net 30","vatTypeCodeId":12345678,"vatRateId":12345678,"orderValidity":30,"articleDiscounts":[{"id":12345678,"articleId":12345678,"discount":10.0}],"billingEmail":"billing@example.com","orderEmail":"orders@example.com","lateNoticeEmail":"latenotice@example.com","officeId":12345678,"placcountId":42},"staff":{"id":12345678,"avsNumber":"756.1234.5678.90","permitExpiryDate":"31/12/2027","jobTitle":"Software Engineer","employmentStartDate":"01/01/2024","employmentEndDate":"31/12/2026","contactId":12345678,"workPermit":{"id":12345678,"countryId":12345678,"nameId":12345678},"contractType":"FIXED","employeeDocumentType":"PASSPORT","documentNumber":"X1234567","documentExpiryDate":"31/12/2030","maritalType":"SINGLE","maritalDate":"01/06/2020","isSpouseWorking":false,"enforceTimesheets":false,"familyMembers":[{"id":12345678,"familyMemberType":"CHILD","firstName":"Anna","lastName":"Doe","birthDate":"01/01/2015","nationalityCountryId":12345678}],"timesheetPricingLines":[{"id":12345678,"startDate":"01/01/2026","endDate":"31/12/2026","orderId":12345678,"taskId":12345678,"rate":100.0,"clientId":12345678,"staffId":12345678}],"staffPayslips":[{"id":12345678,"staffId":12345678,"calendarYear":2026,"employmentStartDate":"01/01/2026","employmentEndDate":"31/12/2026","salaryCertificateNotes":"Special allowance included","isFreeTransportToWork":false,"isCanteenMealsOrMealsVouchers":false,"salaryInfo":{"id":12345678,"organizationId":12345678,"staffId":12345678,"salaryType":"MONTHLY","workOccupancy":100.0,"numberOfVacationDays":25,"defaultPaymentAccountId":12345678,"payrollCurrencyId":12345678,"isSourceTaxEnabled":false,"capacity":100.0,"hourlyRate":50.0,"payableToBankId":12345678,"organizationEmployeeGroupId":12345678,"sourceTaxCode":"A0","regionId":12345678,"totalOccupancy":100.0,"hasOnlyOneJob":true,"singleParentType":"NOCOHAB","denominationType":"RCC"},"employeeGroups":[{"id":12345678,"groupType":"DEPARTMENT","departmentId":12345678,"percentage":100.0,"officeId":12345678}],"systemLine":{"id":12345678,"payslipLineEntityId":12345678,"bracket":1,"rate":5.25,"localizations":{"id":12345678,"en":"English translation","fr":"Traduction française","de":"Deutsche Übersetzung","it":"Traduzione in italiano"},"number":1000},"baseSalaryLine":{"id":12345678,"payslipLineEntityId":12345678,"employeeAmount":5000.0,"employerAmount":0.0,"payslipValueSplitType":"NONE"},"payslipTableLines":[{"id":12345678,"startDate":"01/01/2026","endDate":"31/12/2026","payslipLineId":12345678,"number":100,"description":"Base salary","employeeValue":5000.0,"employerValue":500.0,"quantity":1.0,"employeePercentage":5.25,"employerPercentage":8.0,"organizationEmployeeGroupId":12345678}],"officeWorkPercents":[{"id":12345678,"officeId":12345678,"percent":50.0}]}],"costCalculationType":"HOURLY_RATE","timesheetsCost":50.0,"trainingLevel":"PHD","position":"MIDDLE"},"permissionsTree":[{"id":12345678,"organizationId":12345678,"isActive":true,"roles":[{"id":12345678,"type":"STANDARD","name":"Administrator","isDefault":false}],"globalRoles":[{"id":12345678,"type":"STANDARD","name":"Administrator","isDefault":false}],"subUserContactId":12345678}],"ecorrespondence":true}]'
Request examples
# Headers

# Payload
[
  {
    "contactId": 12345678,
    "isCustomer": true,
    "isVendor": false,
    "defaultLanguage": "EN",
    "phone": "+41 22 000 00 00",
    "fax": "+41 22 000 00 01",
    "mobile": "+41 79 000 00 00",
    "email": "contact@example.com",
    "webSite": "https://example.com",
    "archived": false,
    "externalId": "EXT-001",
    "organizationId": 12345678,
    "addresses": [
      {
        "id": 12345678,
        "name": "Main Office",
        "line1": 123,
        "line2": "Suite 4B",
        "city": "Geneva",
        "region": {
          "id": 206
        },
        "countryCode2": "CH",
        "countryId": 12345678,
        "postCode": 1200,
        "houseNumber": 42,
        "toTheAttentionOf": "John Doe",
        "position": 1,
        "service": "HR"
      }
    ],
    "banks": [
      {
        "id": 12345678,
        "name": "Main Account",
        "accountNumber": "CH56 0483 5012 3456 7800 9",
        "swiftBic": "UBSWCHZH80A",
        "bankName": "UBS AG",
        "remark": "Primary account",
        "position": 1,
        "chartOfAccounts": 12345678,
        "accountHolderAddress": {
          "id": 12345678,
          "name": "Main Office",
          "line1": 123,
          "line2": "Suite 4B",
          "city": "Geneva",
          "region": {
            "id": 206
          },
          "countryCode2": "CH",
          "countryId": 12345678,
          "postCode": 1200,
          "houseNumber": 42,
          "toTheAttentionOf": "John Doe",
          "position": 1,
          "service": "HR"
        },
        "customHolder": false
      }
    ],
    "communications": [
      {
        "id": 12345678,
        "date": "01/06/2026",
        "type": "EMAIL",
        "description": "Follow-up call",
        "longDescription": "Discussed contract renewal terms",
        "ourContactId": 12345678,
        "externalContactId": 12345678
      }
    ],
    "additionalInformation": [
      {
        "id": 12345678,
        "note": "VIP client — handle with priority",
        "tag": {
          "id": 12345678,
          "name": "Tag name"
        }
      }
    ],
    "tags": [
      {
        "id": 12345678,
        "name": "Tag name"
      }
    ],
    "contactType": "PERSON",
    "firstName": "John",
    "middleName": "Paul",
    "lastName": "Doe",
    "nationalityCountryId": 12345678,
    "birthday": "15/03/1985",
    "gender": "MALE",
    "isStaff": false,
    "isUser": false,
    "avatarId": 12345678,
    "loginEmail": "john.doe@example.com",
    "isMainUser": false,
    "isEmployee": true,
    "isActive": true,
    "relatedOrganizationContactIds": [
      12345678
    ],
    "supplier": {
      "id": 12345678,
      "businessUnitId": 12345678,
      "paymentAccountId": 12345678,
      "balanceSheetAccountId": 12345678,
      "currencyId": 12345678,
      "paymentTerms": 30,
      "feeSplitType": "NONE",
      "contactId": 12345678,
      "vatNumber": "CHE-123.456.789 MWST",
      "vatType": "NO_VAT",
      "vatTypeCodeId": 12345678,
      "vatRateId": 12345678,
      "officeId": 12345678,
      "delayDiscounts": [
        {
          "id": 12345678,
          "delayDays": 10,
          "discountPercent": 2.0
        }
      ],
      "placcountId": 42
    },
    "client": {
      "id": 12345678,
      "businessUnitId": 12345678,
      "paymentAccountId": 12345678,
      "balanceSheetAccountId": 12345678,
      "currencyId": 12345678,
      "orderAddressName": "Main Office",
      "invoiceAddressName": "Billing Department",
      "paymentTerms": 30,
      "lateNoticeMargin": 10,
      "clientDiscountRate": 5.0,
      "creditLimit": 10000.0,
      "contactId": 12345678,
      "vatNumber": "CHE-123.456.789 MWST",
      "advancedInvoicingNote": "Net 30",
      "vatTypeCodeId": 12345678,
      "vatRateId": 12345678,
      "orderValidity": 30,
      "articleDiscounts": [
        {
          "id": 12345678,
          "articleId": 12345678,
          "discount": 10.0
        }
      ],
      "billingEmail": "billing@example.com",
      "orderEmail": "orders@example.com",
      "lateNoticeEmail": "latenotice@example.com",
      "officeId": 12345678,
      "placcountId": 42
    },
    "staff": {
      "id": 12345678,
      "avsNumber": "756.1234.5678.90",
      "permitExpiryDate": "31/12/2027",
      "jobTitle": "Software Engineer",
      "employmentStartDate": "01/01/2024",
      "employmentEndDate": "31/12/2026",
      "contactId": 12345678,
      "workPermit": {
        "id": 12345678,
        "countryId": 12345678,
        "nameId": 12345678
      },
      "contractType": "FIXED",
      "employeeDocumentType": "PASSPORT",
      "documentNumber": "X1234567",
      "documentExpiryDate": "31/12/2030",
      "maritalType": "SINGLE",
      "maritalDate": "01/06/2020",
      "isSpouseWorking": false,
      "enforceTimesheets": false,
      "familyMembers": [
        {
          "id": 12345678,
          "familyMemberType": "CHILD",
          "firstName": "Anna",
          "lastName": "Doe",
          "birthDate": "01/01/2015",
          "nationalityCountryId": 12345678
        }
      ],
      "timesheetPricingLines": [
        {
          "id": 12345678,
          "startDate": "01/01/2026",
          "endDate": "31/12/2026",
          "orderId": 12345678,
          "taskId": 12345678,
          "rate": 100.0,
          "clientId": 12345678,
          "staffId": 12345678
        }
      ],
      "staffPayslips": [
        {
          "id": 12345678,
          "staffId": 12345678,
          "calendarYear": 2026,
          "employmentStartDate": "01/01/2026",
          "employmentEndDate": "31/12/2026",
          "salaryCertificateNotes": "Special allowance included",
          "isFreeTransportToWork": false,
          "isCanteenMealsOrMealsVouchers": false,
          "salaryInfo": {
            "id": 12345678,
            "organizationId": 12345678,
            "staffId": 12345678,
            "salaryType": "MONTHLY",
            "workOccupancy": 100.0,
            "numberOfVacationDays": 25,
            "defaultPaymentAccountId": 12345678,
            "payrollCurrencyId": 12345678,
            "isSourceTaxEnabled": false,
            "capacity": 100.0,
            "hourlyRate": 50.0,
            "payableToBankId": 12345678,
            "organizationEmployeeGroupId": 12345678,
            "sourceTaxCode": "A0",
            "regionId": 12345678,
            "totalOccupancy": 100.0,
            "hasOnlyOneJob": true,
            "singleParentType": "NOCOHAB",
            "denominationType": "RCC"
          },
          "employeeGroups": [
            {
              "id": 12345678,
              "groupType": "DEPARTMENT",
              "departmentId": 12345678,
              "percentage": 100.0,
              "officeId": 12345678
            }
          ],
          "systemLine": {
            "id": 12345678,
            "payslipLineEntityId": 12345678,
            "bracket": 1,
            "rate": 5.25,
            "localizations": {
              "id": 12345678,
              "en": "English translation",
              "fr": "Traduction française",
              "de": "Deutsche Übersetzung",
              "it": "Traduzione in italiano"
            },
            "number": 1000
          },
          "baseSalaryLine": {
            "id": 12345678,
            "payslipLineEntityId": 12345678,
            "employeeAmount": 5000.0,
            "employerAmount": 0.0,
            "payslipValueSplitType": "NONE"
          },
          "payslipTableLines": [
            {
              "id": 12345678,
              "startDate": "01/01/2026",
              "endDate": "31/12/2026",
              "payslipLineId": 12345678,
              "number": 100,
              "description": "Base salary",
              "employeeValue": 5000.0,
              "employerValue": 500.0,
              "quantity": 1.0,
              "employeePercentage": 5.25,
              "employerPercentage": 8.0,
              "organizationEmployeeGroupId": 12345678
            }
          ],
          "officeWorkPercents": [
            {
              "id": 12345678,
              "officeId": 12345678,
              "percent": 50.0
            }
          ]
        }
      ],
      "costCalculationType": "HOURLY_RATE",
      "timesheetsCost": 50.0,
      "trainingLevel": "PHD",
      "position": "MIDDLE"
    },
    "permissionsTree": [
      {
        "id": 12345678,
        "organizationId": 12345678,
        "isActive": true,
        "roles": [
          {
            "id": 12345678,
            "type": "STANDARD",
            "name": "Administrator",
            "isDefault": false
          }
        ],
        "globalRoles": [
          {
            "id": 12345678,
            "type": "STANDARD",
            "name": "Administrator",
            "isDefault": false
          }
        ],
        "subUserContactId": 12345678
      }
    ],
    "ecorrespondence": true
  }
]
Response examples (200)
{
  "items": [
    {
      "errorCode": {
        "errorCode": "NO_ERROR",
        "errorDetailValues": [
          {
            "errorCode": "string",
            "fieldName": "string",
            "data": "string",
            "isSevere": true
          }
        ]
      },
      "possibleWorkflows": [
        {
          "id": 42,
          "name": "string"
        }
      ],
      "error": true,
      "severeError": true
    }
  ]
}