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

# Search BusinessAnnouncements

> Search and list BusinessAnnouncement records with filtering, sorting, and pagination.

A BusinessAnnouncement is a location announcement shown to customers in the Members Portal and app, with optional plain-text content, image, and call-to-action button. Its public availability is scheduled by UTC ActiveFrom and ActiveTo values.

## 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 **`BusinessAnnouncement-List`** role.
</Note>

## Query Parameters

### Pagination & Sorting

<ParamField query="page" type="integer" default="1">
  The page number to retrieve.
</ParamField>

<ParamField query="size" type="integer" default="25">
  The number of records per page.
</ParamField>

<ParamField query="orderBy" type="string">
  The property name to sort results by (e.g. `Name`, `CreatedOn`).
</ParamField>

<ParamField query="dir" type="integer">
  Sort direction. `0` for ascending, `1` for descending.
</ParamField>

### Filters

<ParamField query="BusinessAnnouncement_Business" type="integer">
  Filter by iD of the location where this announcement is published; a network location makes it available to locations in that network..
</ParamField>

<ParamField query="BusinessAnnouncement_Business_Name" type="string">
  Filter by display value for Business.Name..
</ParamField>

<ParamField query="BusinessAnnouncement_Name" type="string">
  Filter by required title displayed with the announcement..
</ParamField>

<ParamField query="BusinessAnnouncement_Active" type="boolean">
  Filter by whether this announcement is marked active; the current active-announcement query uses ActiveFrom and ActiveTo rather than this flag..
</ParamField>

<ParamField query="BusinessAnnouncement_ImageFileName" type="string">
  Filter by current image file name.
</ParamField>

<ParamField query="BusinessAnnouncement_NewImageUrl" type="string">
  Filter by uRL of a new image to upload (ideal size 600x350 pixels, 12:7 aspect ratio).
</ParamField>

<ParamField query="BusinessAnnouncement_ClearImage" type="boolean">
  Filter by set to true to remove the current image file.
</ParamField>

<ParamField query="BusinessAnnouncement_Body" type="string">
  Filter by plain-text announcement body; HTML formatting is not supported..
</ParamField>

<ParamField query="BusinessAnnouncement_ShowButton" type="boolean">
  Filter by whether to display the optional call-to-action button with this announcement..
</ParamField>

<ParamField query="BusinessAnnouncement_ButtonLabel" type="string">
  Filter by text displayed on the call-to-action button when ShowButton is enabled..
</ParamField>

<ParamField query="BusinessAnnouncement_ButtonUrl" type="string">
  Filter by destination URL for the call-to-action button when ShowButton is enabled..
</ParamField>

<ParamField query="BusinessAnnouncement_SendPushNotification" type="boolean">
  Filter by whether this announcement is configured to send a push notification; scheduling is currently driven by ActiveFrom on create or update..
</ParamField>

<ParamField query="BusinessAnnouncement_PushNotificationText" type="string">
  Filter by text configured for the announcement's push notification..
</ParamField>

<ParamField query="BusinessAnnouncement_ActiveFrom" type="string">
  Filter by uTC publish-from date and time; the active query requires this value to be strictly earlier than the current UTC time, and create or update schedules its push job at this time..
</ParamField>

<ParamField query="BusinessAnnouncement_ActiveTo" type="string">
  Filter by optional UTC publish-until date and time; an announcement remains active only while this value is strictly later than the current UTC time..
</ParamField>

<ParamField query="BusinessAnnouncement_OnlyForContacts" type="boolean">
  Filter by whether the announcement is marked for contacts, meaning customers without an active contract; the current active-announcement query does not apply this audience flag..
</ParamField>

<ParamField query="BusinessAnnouncement_OnlyForMembers" type="boolean">
  Filter by whether the announcement is marked for members, meaning customers with an active contract; the current active-announcement query does not apply this audience flag..
</ParamField>

### Range Filters

<ParamField query="from_BusinessAnnouncement_ActiveFrom" type="string">
  Filter by uTC publish-from date and time; the active query requires this value to be strictly earlier than the current UTC time, and create or update schedules its push job at this time. greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_BusinessAnnouncement_ActiveFrom" type="string">
  Filter by uTC publish-from date and time; the active query requires this value to be strictly earlier than the current UTC time, and create or update schedules its push job at this time. less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_BusinessAnnouncement_ActiveTo" type="string">
  Filter by optional UTC publish-until date and time; an announcement remains active only while this value is strictly later than the current UTC time. greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_BusinessAnnouncement_ActiveTo" type="string">
  Filter by optional UTC publish-until date and time; an announcement remains active only while this value is strictly later than the current UTC time. less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_BusinessAnnouncement_CreatedOn" type="string">
  Filter records created on or after this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_BusinessAnnouncement_CreatedOn" type="string">
  Filter records created on or before this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_BusinessAnnouncement_UpdatedOn" type="string">
  Filter records updated on or after this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_BusinessAnnouncement_UpdatedOn" type="string">
  Filter records updated on or before this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

## Code Examples

### Simple listing

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/content/businessannouncements?page=1&size=15&orderBy=Name&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/content/businessannouncements?' + new URLSearchParams({
      page: 1,
      size: 15,
      orderBy: 'Name',
      dir: 1 // Ascending
    }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

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

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

  response = requests.get(
      'https://spaces.nexudus.com/api/content/businessannouncements',
      params={
          'page': 1,
          'size': 15,
          'orderBy': 'Name',
          'dir': 0 // Ascending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

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

### Filtering by Name

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/content/businessannouncements?BusinessAnnouncement_Name=example-value&orderBy=Name&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/content/businessannouncements?' + new URLSearchParams({
      BusinessAnnouncement_Name: 'example-value',
      orderBy: 'Name',
      dir: 1
    }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

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

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

  response = requests.get(
      'https://spaces.nexudus.com/api/content/businessannouncements',
      params={
          'BusinessAnnouncement_Name': 'example-value',
          'orderBy': 'Name',
          'dir': 0 // Ascending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

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

### Range filters

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/content/businessannouncements?from_BusinessAnnouncement_UpdatedOn=2025-01-01T00:00&to_BusinessAnnouncement_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/content/businessannouncements?' + new URLSearchParams({
      from_BusinessAnnouncement_UpdatedOn: '2025-01-01T00:00',
      to_BusinessAnnouncement_UpdatedOn: '2025-12-31T23:59',
      orderBy: 'UpdatedOn',
      dir: 1 // Descending
     }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

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

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

  response = requests.get(
      'https://spaces.nexudus.com/api/content/businessannouncements',
      params={
          'from_BusinessAnnouncement_UpdatedOn': '2025-01-01T00:00',
          'to_BusinessAnnouncement_UpdatedOn': '2025-12-31T23:59',
          'orderBy': 'UpdatedOn',
          'dir': 1 // Descending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

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

## Response

### 200

<ResponseField name="Records" type="BusinessAnnouncement[]">
  The list of BusinessAnnouncement records matching the query. See the [Get one BusinessAnnouncement](/rest-api/content/get-businessannouncements-by-id) endpoint for the full list of properties returned for each record.
</ResponseField>

<ResponseField name="CurrentPage" type="integer">
  Current page number.
</ResponseField>

<ResponseField name="CurrentPageSize" type="integer">
  Number of records per page.
</ResponseField>

<ResponseField name="CurrentOrderField" type="string">
  The field used for sorting.
</ResponseField>

<ResponseField name="CurrentSortDirection" type="integer">
  The sort direction (`0` = ascending, `1` = descending).
</ResponseField>

<ResponseField name="FirstItem" type="integer">
  Index of the first item on the current page.
</ResponseField>

<ResponseField name="LastItem" type="integer">
  Index of the last item on the current page.
</ResponseField>

<ResponseField name="TotalItems" type="integer">
  Total number of matching records across all pages.
</ResponseField>

<ResponseField name="TotalPages" type="integer">
  Total number of pages.
</ResponseField>

<ResponseField name="HasNextPage" type="boolean">
  Whether there is a next page of results.
</ResponseField>

<ResponseField name="HasPreviousPage" type="boolean">
  Whether there is a previous page of results.
</ResponseField>

```json Example Response theme={null}
{
  "Records": [
    {
      "BusinessId": 0,
      "BusinessName": null,
      "Name": "",
      "Active": false,
      "ImageFileName": null,
      "NewImageUrl": null,
      "ClearImageFile": null,
      "Body": null,
      "ShowButton": false,
      "ButtonLabel": null,
      "ButtonUrl": null,
      "SendPushNotification": false,
      "PushNotificationText": null,
      "ActiveFrom": null,
      "ActiveTo": null,
      "OnlyForContacts": false,
      "OnlyForMembers": 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": "BusinessAnnouncement Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "Name",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.