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

# Get multiple Coworkers

> Retrieve multiple Coworker records by their Ids in a single request.

Fetch several Coworker records in a single request by passing their Ids as a comma-separated list enclosed in square brackets.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`Coworker-Read`** role.
</Note>

## Query Parameters

<ParamField query="id" type="integer[]" required>
  A comma-separated list of Coworker Ids enclosed in square brackets, e.g. `[123,456,789]`.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/spaces/coworkers/?id=[87654321,87654322,87654323]" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/spaces/coworkers/?id=[87654321,87654322,87654323]',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const records = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/spaces/coworkers/',
      params={
          'id': '[87654321,87654322,87654323]'
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  records = response.json()
  ```
</CodeGroup>

## Response

### 200

Returns an array of Coworker records. Each record has the same structure as the response from the [Get one Coworker](/rest-api/spaces/get-coworkers-by-id) endpoint.

<Warning>
  **Partial records** — This endpoint returns a summary representation of each Coworker. The following fields are **not populated** in the response: `CoworkerType`, `Gender`, `CreateUser`, `Address`, `PostCode`, `CityName`, `State`, `MobilePhone`, `LandLine`, `NickName`, `BusinessArea`, `Position`, `CompanyName`, `ProfileWebsite`, `ProfileTags`, `ProfileSummary`, `Twitter`, `Facebook`, `Google`, `Telegram`, `Linkedin`, `Skype`, `Github`, `Pinterest`, `Flickr`, `Instagram`, `Vimeo`, `Tumblr`, `Blogger`, `ProfileIsPublic`, `BillingEmail`, `BillingAddress`, `BillingPostCode`, `BillingCityName`, `BillingState`, `BillingCountryId`, `TaxRateType`, `TaxRate`, `TaxIDNumber`, `BankName`, `BankAccount`, `BankBranch`, `NotifyOnNewInvoice`, `NotifyOnNewPayment`, `NotifyOnFailedPayment`, `ShowPayingMemberInvoices`, `EnableGoCardlessPayments`, `UseGoCardlessProPayments`, `GoCardlessContractNumber`, `StripeBacsDDPaymentMethodId`, `StripeBacsDDMandateId`, `StripeBacsDDEnabled`, `RegularPaymentProvider`, `RegularPaymentContractNumber`, `DoNotProcessInvoicesAutomatically`, `AllowNetworkCheckin`, `AccessPincode`, `KeyFobNumber`, `NotifyOnDelivery`, `EzeepUserId`, `EzeepFreePrinting`, `EzeepBlueUserId`, `EzeepBlueFreePrinting`, `EzeepBluePrintingEnabled`, `PaperCutPayAsYouPrint`, `PaperCutUserId`, `Notes`, `Custom1`, `Custom2`, `Custom3`, `Custom4`, `Custom5`, `Custom6`, `Custom7`, `Custom8`, `Custom9`, `Custom10`, `Custom11`, `Custom12`, `Custom13`, `Custom14`, `Custom15`, `Custom16`, `Custom17`, `Custom18`, `Custom19`, `Custom20`, `Custom21`, `Custom22`, `Custom23`, `Custom24`, `Custom25`, `Custom26`, `Custom27`, `Custom28`, `Custom29`, `Custom30`, `PurchaseOrder`, `NotifyOnDeliveriesEmail`, `AccessControlErrorNotificationSent`, `SyncToPaperCutDue`, `InvoiceSegregationOverride`, `InvoiceSegregateContracts`, `InvoiceSegregateBookings`, `InvoiceSegregateProducts`, `InvoiceSegregateTimePasses`, `InvoiceSegregateTickets`, `IsDefaultProfile`, `InvoiceSegregateCharges`, `EzeepPrintingEnabled`, `InvoiceDueDateDay`.

  To get all fields, fetch the full record using the [Get one Coworker](/rest-api/spaces/get-coworkers-by-id) endpoint.

  **Important for updates:** When updating a record via `PUT`, always retrieve the full record with a `GET` request first, apply your changes to that complete data, and then send the updated record. Do not use data from this endpoint as the base for a `PUT` request, as missing fields may be unintentionally cleared.
</Warning>

```json Example Response theme={null}
[
  {
    "Businesses": [],
    "Teams": [],
    "FullName": "",
    "Salutation": null,
    "Email": "",
    "AvatarFileName": null,
    "NewAvatarUrl": null,
    "ClearAvatarFile": null,
    "BannerImageFileName": null,
    "NewBannerImageUrl": null,
    "ClearBannerImageFile": null,
    "CountryId": 0,
    "SimpleTimeZoneId": 0,
    "DateOfBirth": null,
    "InvoicingBusinessId": null,
    "InvoicingBusinessName": null,
    "BillingName": null,
    "BillingSimpleTimeZoneId": null,
    "StripeBacsDDCustomerToken": null,
    "LastOverDueInvoiceReminder": null,
    "LastLowCreditReminder": null,
    "RefererGuid": null,
    "CardNumber": null,
    "CheckinSinceLastRenewal": 0,
    "MinutesSinceLastRenewal": 0,
    "AccessCardId": null,
    "PaperCutFreePrinting": false,
    "CanMakeBookings": false,
    "CanBookForTeam": false,
    "CanPurchaseProducts": false,
    "CanPurchaseEvents": false,
    "CanAccessCommunity": false,
    "ReferenceNumber": null,
    "Tag": null,
    "ShowAlert": false,
    "AlertNote": null,
    "UserId": null,
    "UserFullName": null,
    "UserIsAdmin": null,
    "UserLastAccess": null,
    "UserActive": null,
    "UserReceiveCommunityDigest": null,
    "UserReceiveEveryMessage": null,
    "Active": false,
    "NextAutoInvoice": null,
    "InvoiceDueDatePeriod": null,
    "RegistrationDate": null,
    "GeneralTermsAccepted": false,
    "LastRenewal": null,
    "LastInvoiceAttempt": null,
    "NextInvoiceLocal": null,
    "NextAutoInvoiceLocal": null,
    "RegistrationDateLocal": null,
    "AccessControlDebounceTime": null,
    "Office365AccessToken": null,
    "Office365RefreshToken": null,
    "ZoomAccessToken": null,
    "ZoomRefreshToken": null,
    "ZoomUserId": null,
    "DoordeckPrivateKey": null,
    "DoordeckPublicKey": null,
    "DoordeckUserGuid": null,
    "Office365SubscriptionId": null,
    "SaltoV2AccessToken": null,
    "StripeACHBankToken": null,
    "StripeACHCustomerToken": null,
    "HasAcceptedStripeACHAgreement": false,
    "HasVerifiedStripeACHDeposits": false,
    "SyncToSquare": false,
    "GoogleApiToken": null,
    "GoogleSubscriptionId": null,
    "CoworkerContractIds": null,
    "CoworkerContractTariffNames": null,
    "BillingDay": null,
    "TariffId": null,
    "TariffInvoiceEvery": 0,
    "TariffInvoiceEveryWeeks": 0,
    "RenewalDate": null,
    "TeamName": null,
    "TeamId": null,
    "TeamNames": null,
    "TeamIds": null,
    "CurrentAccessSignature": null,
    "CurrentAccessSignatures": null,
    "BrivoUserId": null,
    "ChurnProbability": null,
    "EngagementLevel": null,
    "MondayAttendance": 0,
    "TuesdayAttendance": 0,
    "WednesdayAttendance": 0,
    "ThursdayAttendance": 0,
    "FridayAttendance": 0,
    "SaturdayAttendance": 0,
    "SundayAttendance": 0,
    "Longitude": null,
    "Latitude": null,
    "BillingLongitude": null,
    "BillingLatitude": null,
    "Archived": false,
    "Id": 87654321,
    "UpdatedOn": "2025-01-15T10:30:00Z",
    "CreatedOn": "2025-01-10T08:00:00Z",
    "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "UpdatedBy": "admin@example.com",
    "IsNew": false,
    "SystemId": null,
    "ToStringText": "Coworker Example",
    "LocalizationDetails": null,
    "CustomFields": null
  }
]
```
