> ## 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 one ReportDefinition

> Retrieve a single ReportDefinition record by its Id.

A saved self-service report: a ReportQuery JSON document plus a visualization. Use report\_catalog to discover fields, report\_query to test a query before saving it, and report\_run to execute a saved report.

## 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 **`ReportDefinition-Read`** role.
</Note>

## Path Parameters

<ParamField path="id" type="integer" required>
  The Id of the ReportDefinition record to retrieve.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/sys/reportdefinitions/87654321" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/sys/reportdefinitions/87654321',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

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

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

  response = requests.get(
      'https://spaces.nexudus.com/api/sys/reportdefinitions/87654321',
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

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

## Response

### 200

<ResponseField name="BusinessId" type="integer">
  ID of the business that owns this report.
</ResponseField>

<ResponseField name="Name" type="string">
  Report name shown in the library.
</ResponseField>

<ResponseField name="Description" type="string">
  Optional description of what the report shows.
</ResponseField>

<ResponseField name="Folder" type="string">
  Folder used to group reports in the library (e.g. Bookings, Billing).
</ResponseField>

<ResponseField name="EntityName" type="string">
  Root entity of the query; derived from QueryJson on save.
</ResponseField>

<ResponseField name="VisualizationType" type="string">
  Visualization type (table, number, bar, line, area, pie); derived from VisualizationJson on save.
</ResponseField>

<ResponseField name="QueryJson" type="string">
  ReportQuery JSON document (version 1). Use report\_catalog to discover entities and field paths and report\_query to test the query before saving..
</ResponseField>

<ResponseField name="VisualizationJson" type="string">
  VisualizationDocument JSON: \{ "type": "table|number|bar|line|area|pie", "settings": \{ ... } }.
</ResponseField>

<ResponseField name="SchemaVersion" type="integer">
  Version of the QueryJson schema.
</ResponseField>

<ResponseField name="IsShared" type="boolean">
  Visible to every user of the business; when false only the owner sees it.
</ResponseField>

<ResponseField name="OwnerId" type="integer">
  User who created the report (set automatically).
</ResponseField>

<ResponseField name="OwnerFullName" type="string">
  Display value for Owner.FullName..
</ResponseField>

<ResponseField name="OwnerEmail" type="string">
  Display value for Owner.Email..
</ResponseField>

<ResponseField name="TemplateKey" type="string">
  Key of the built-in template this report was copied from, if any.
</ResponseField>

<ResponseField name="LastRunOn" type="string">
  UTC time the report was last run.
</ResponseField>

<ResponseField name="RunCount" type="integer">
  Number of times the report has been run.
</ResponseField>

<ResponseField name="Id" type="integer">
  Unique record identifier.
</ResponseField>

<ResponseField name="UniqueId" type="string">
  UUID of the record.
</ResponseField>

<ResponseField name="CreatedOn" type="string">
  Date and time the record was created (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedOn" type="string">
  Date and time the record was last updated (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedBy" type="string">
  Email of the user who last updated this record.
</ResponseField>

<ResponseField name="IsNew" type="boolean">
  Whether the record was recently created.
</ResponseField>

<ResponseField name="SystemId" type="string">
  External system identifier.
</ResponseField>

```json Example Response theme={null}
{
  "BusinessId": 0,
  "Name": "",
  "Description": null,
  "Folder": null,
  "EntityName": null,
  "VisualizationType": null,
  "QueryJson": "",
  "VisualizationJson": null,
  "SchemaVersion": 0,
  "IsShared": false,
  "OwnerId": null,
  "OwnerFullName": null,
  "OwnerEmail": null,
  "TemplateKey": null,
  "LastRunOn": null,
  "RunCount": 0,
  "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": "ReportDefinition Example",
  "LocalizationDetails": null,
  "CustomFields": null
}
```
