# Get Reports

Returns a JSON array of report metadata

Endpoint: GET /internal/reports
Security: Bearer

## Query parameters:

  - `caspian-only` (boolean)
    Include Caspian reports in response

  - `created-by` (string)
    Query for report types based on the entity that initiated report creation.

| Value      | Description                                        |
|------------|----------------------------------------------------|
| SCHEDULER  | Get automated system-generated reports. |
| USER       | Customized reports generated by users through the UI. |
| API        | Customized reports generated using the API. |
    Enum: "USER", "SCHEDULER", "API"

## Response 200 fields (application/json):

  - `reports` (array, required)

  - `reports.reportId` (string, required)
    Unique identifier for a report.
    Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"

  - `reports.reportName` (string)
    User defined name of the report.
    Example: "My custom report"

  - `reports.reportType` (string, required)
    The report type of the downloadable report.
    Enum: "PAYMENT_OPS", "RECON", "FAILURE_CONVERSION_SSA"

  - `reports.reportFormat` (string, required)
    The report format of the downloadable report.
    Enum: "CSV", "JSON"

  - `reports.reportStatus` (string, required)
    The status of the report.
    Enum: "PENDING", "READY", "FAILED", "EMPTY"

  - `reports.startDate` (string, required)
    The [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) start date (inclusive) of the report.
    Example: "2018-04-06T20:33:35Z"

  - `reports.endDate` (string, required)
    The [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) end date (inclusive) of the report.

Note: Must be after startDate, but no more than 90 days after.
    Example: "2018-04-06T20:33:35Z"

  - `reports.createdOn` (string)
    Report creation time
    Example: "2018-04-06T20:33:35Z"

  - `reports.reportCreatedBy` (string)
    Identifies the entity that initiated the report creation.

| Value       | Description                                        |
|-------------|----------------------------------------------------|
| SCHEDULER   | Automated system-generated report initiated by the scheduler. |
| API         | User-generated report initiated through the API. |
| [full name] | Full name of the user who initiated the creation of the report through the UI. |
| null        | Legacy support for older reports. |
    Example: "Norma Jean"

## Response 400 fields (application/json):

  - `type` (string, required)
    Example: "https://docs.ripple.com/payments-odl/api-docs/report_service/reference/#error/RPT_1"

  - `errorCode` (string, required)
    Example: "RPT_1"

  - `title` (string, required)
    Example: "BAD_REQUEST"

  - `detail` (string)
    Example: "Required field missing"

  - `time` (string, required)
    The [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) error timestamp.
    Example: "2018-04-06T20:33:35Z"


