# List Resources

### Description
The resources (rooms and equipment) associated with an Enterprise Connect account can be listed via the resources endpoint.

This requires the Enterprise Connect authentication to have the `service_account/resources/manage` scope granted.

### URL format
```
{data_center_url}/v1/resources
```

### Example request
```http
GET /v1/resources HTTP/1.1
Host: {data_center_url}
Authorization: Bearer {ACCESS_TOKEN}
```

### Example Response
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "resources": [
    {
      "email": "board-room-london@example.com",
      "name": "Board room (London)"
    },
    {
      "email": "board-room-madrid@example.com",
      "name": "Board room (Madrid)"
    },
    {
      "email": "3dprinter@example.com",
      "name": "3D Printer"
    },
    {
      "email": "vr-headset@example.com",
      "name": "Oculus Rift"
    }
  ]
}
```

### Example request with details
```http
GET /v1/resources?include_details=capacity%20location HTTP/1.1
Host: {data_center_url}
Authorization: Bearer {ACCESS_TOKEN}
```

### Example response with details
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "resources": [
    {
      "email": "board-room-london@example.com",
      "name": "Board room (London)",
      "capacity": 14,
      "location": {
        "building_name": "London HQ",
        "floor_name": "4",
        "floor_section": "North wing",
        "address": {
          "lines": ["123 Example St"],
          "locality": "London",
          "region": "Greater London",
          "postal_code": "EC1A 1BB",
          "country": "GB"
        },
        "coordinates": {
          "lat": 51.5155,
          "long": -0.0922
        }
      }
    },
    {
      "email": "3dprinter@example.com",
      "name": "3D Printer"
    }
  ]
}
```

### Request parameters
##### `data_center_url` *(required)*

The URL for the data center you want to communicate with. Possible choices are:

- `api-au.cronofy.com` - Australia
- `api-ca.cronofy.com` - Canada
- `api-de.cronofy.com` - Germany
- `api-sg.cronofy.com` - Singapore
- `api-uk.cronofy.com` - United Kingdom
- `api.cronofy.com` - United States

Find out more about [Cronofy's data centers](https://docs.cronofy.com/developers/data-centers/index.md).
##### `include_details` *(optional)*

A space separated list of detail types to include in the response.

Supported values are:

- `capacity`

- `location`

Unknown values will result in a validation error.

When omitted, only the base resource fields are returned.

##### `room_list` *(optional)* **ALPHA**

A single room list email address to scope the response to the rooms within that named room list.

Currently only supported for Office 365 Enterprise Connect accounts connected via Microsoft Graph.

Must be a single email address.

When omitted, or given with no value, all resources for the Enterprise Connect account are returned.

### Response parameters
##### `resources.email`

The email address for the resource.

May be used to obtain access tokens for the resource calendar via [Requesting Delegated Access](https://docs.cronofy.com/api-reference/authorization/enterprise-connect/delegated-access/index.md).

##### `resources.name`

The name defined for the resource by the Enterprise Connect account.

##### `resources.generated_name` *(optional)*

A generated display name for the resource.

Currently returned for Google Workspace resources as `CalendarResource.generatedResourceName`.

##### `resources.provider_uid` *(optional)*

The upstream provider's unique identifier for the resource.

Currently returned for Google Workspace resources as `CalendarResource.resourceId`.

##### `resources.capacity` *(optional)*

An integer representing the seating capacity of the resource. Only present when `include_details` contains `capacity` and the upstream provider has a value configured for the resource.

##### `resources.location` *(optional)*

An object describing the physical location of the resource. Only present when `include_details` contains `location` and the upstream provider has location data for the resource. All sub-fields are optional and omitted when the provider does not supply them.

##### `resources.location.building_name` *(optional)*

The name of the building the resource is located in.

##### `resources.location.floor_name` *(optional)*

A descriptive label for the floor the resource is located on, for example "Ground", "Mezzanine", or "4".

##### `resources.location.floor_number` *(optional)*

The numeric floor number. Only available from Microsoft Graph.

##### `resources.location.floor_section` *(optional)*

The section within the floor the resource is located in.

##### `resources.location.address` *(optional)*

An object describing the postal address of the resource's building.

##### `resources.location.address.lines` *(optional)*

An array of [`String`](https://docs.cronofy.com/api-reference/fundamentals/data-types/index.md) values representing the street address lines.

##### `resources.location.address.locality` *(optional)*

The city or town.

##### `resources.location.address.region` *(optional)*

The state, province, or administrative area.

##### `resources.location.address.postal_code` *(optional)*

The postal or ZIP code.

##### `resources.location.address.country` *(optional)*

The country. An ISO 3166-1 alpha-2 code where the provider supplies a structured country value, otherwise the provider's own representation.

##### `resources.location.coordinates` *(optional)*

An object describing the geographic coordinates of the resource's building.

##### `resources.location.coordinates.lat` *(optional)*

The latitude in decimal degrees.

##### `resources.location.coordinates.long` *(optional)*

The longitude in decimal degrees.

### Provider mapping
The detail fields are derived from the following upstream provider attributes. Availability depends on what the provider exposes and what the account administrator has configured.

<table>
	<thead>
			<tr>
					<th>Cronofy field</th>
					<th>Google Workspace</th>
					<th>Microsoft Graph</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>`provider_uid`</td>
					<td>`CalendarResource.resourceId`</td>
					<td>—</td>
			</tr>
			<tr>
					<td>`email`</td>
					<td>`CalendarResource.resourceEmail`</td>
					<td>`room.emailAddress`</td>
			</tr>
			<tr>
					<td>`name`</td>
					<td>`CalendarResource.resourceName`</td>
					<td>`room.displayName`</td>
			</tr>
			<tr>
					<td>`generated_name`</td>
					<td>`CalendarResource.generatedResourceName`</td>
					<td>—</td>
			</tr>
			<tr>
					<td>`capacity`</td>
					<td>`CalendarResource.capacity`</td>
					<td>`room.capacity`</td>
			</tr>
			<tr>
					<td>`location.building_name`</td>
					<td>`Building.buildingName`</td>
					<td>`room.building`</td>
			</tr>
			<tr>
					<td>`location.floor_name`</td>
					<td>`CalendarResource.floorName`</td>
					<td>`room.floorLabel`</td>
			</tr>
			<tr>
					<td>`location.floor_number`</td>
					<td>—</td>
					<td>`room.floorNumber`</td>
			</tr>
			<tr>
					<td>`location.floor_section`</td>
					<td>`CalendarResource.floorSection`</td>
					<td>—</td>
			</tr>
			<tr>
					<td>`location.address`</td>
					<td>`Building.address`</td>
					<td>`room.address`</td>
			</tr>
			<tr>
					<td>`location.coordinates`</td>
					<td>`Building.coordinates`</td>
					<td>`room.geoCoordinates`</td>
			</tr>
	</tbody>
</table>
For Google Workspace, address and coordinate data are properties of the building rather than the resource itself. A separate lookup is performed to resolve building details.

> **WARNING:** Exchange and Office 365 users will need to ensure that any resources are added to a RoomList in order for these resources to be retrieved. For details on how to configure this for Office 365 see: enabling RoomList distribution groups.



---
[Read in HTML](https://docs.cronofy.com/api-reference/authorization/enterprise-connect/list-resources/)