---
title: "Create Scheduled Report"
method: POST
path: "/v1/report/schedule"
---

# Create Scheduled Report

`POST /v1/report/schedule`

## Request

- Base URL: `https://api.kevel.co`
- URL: `https://api.kevel.co/v1/report/schedule`
- Auth: API key in header `X-Adzerk-ApiKey`

This creates a Scheduled Report. This endpoint uses the same body params as a queued report for the `Criteria` field.

## Request body

- object
  - `Name` string, required: A friendly name for the report
  - `LoginID` integer, required: The `LoginId` for the user who should receive the report. This is the ID that's returned in the [User Management API](ref:log-in-endpoints) endpoints. You can pull a list [here](ref:list-logins)
  - `KickoffDate` string, required: The date to begin generating the report. We will use this date and the `RecurrenceType` to determine when the report should recur. Will accept a valid ISO 8601 date string.
  - `SchedulingWindow` integer, required: The timeframe in which the report should be delivered. All times are in GMT. Key `0 = Midnight to 6:00AM` `1 = Between 6:00AM and Noon` `2 = Between Noon and 6:00PM (18:00)` `3 = Between 6:00PM (18:00) and Midnight`
  - `RecurrenceType` integer, required: How often the report should be delivered. We will use the `RecurrenceType` to adjust the `StartDate` and `EndDate` from the criteria object with each recurring report. Key: `0 = no recurrence` `1 = daily` `2 = weekly` `3 = monthly`
  - `Criteria` object, required: Object. Use same body params from [Queued Reports](ref:queued-reports). You'll effectively be placing the Queued Report fields into this object.
    - `StartDateISO` string, date
    - `EndDateISO` string, date
    - `GroupBy` string[]
    - `Parameters` object[]
      - string: The name of the parameter you want to filter by
    - `ExcludeParameters` object[]
      - string: The name of the parameter you want to filter by
    - `CustomizedCsvColumnNames` object[]
      - `original` string: The name of the original CSV column name that you want to rename.
      - `new` string: The name of the new CSV column name that you want `original` to be renamed to.
    - `ReportDateFormat` 'us' | 'iso8601': Date format to display in the "Date" column of the Report CSV, possible values: "us", "iso8601"
  - `Emails` string[]: The [external email addresses](doc:scheduled-reporting#adding-additional-emails-to-report) to email with the completed report. Each email address is a string, like ```"Emails":["1@2.com", "3@4.com"]```
  - `ShowEvents` boolean: Display events (conversions, custom events, etc.). Default is `false`
  - `ShowClickBucketing` boolean: Display clicks sorted by click bucketing. Default is `false`
  - `ShowRevenue` boolean: Display revenue. Default is `false`
  - `ShowConversions` boolean: Display conversions. Default is `false`
  - `fixedDate` boolean: Prevents the time frame of the report from incrementing with each send. Default is `false`

## Response `200`

200

- object
  - `Id` integer
  - `Name` string
  - `Criteria` object
    - `StartDate` string
    - `EndDate` string
    - `Parameters` object[]
      - `siteId` integer
    - `GroupBy` string[]
    - `Top30countries` boolean
    - `ReportDateFormat` string
    - `Exclude3rdParty` boolean
    - `IsTotal` boolean
  - `LoginId` integer
  - `KickoffDate` string
  - `SchedulingWindow` integer
  - `RecurrenceType` integer
  - `IsDeleted` boolean

---

[API](https://skmtc.dev/kevel/apis/adzerk-management-apis.md) - [All operations](https://skmtc.dev/kevel/apis/adzerk-management-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/kevel/apis/adzerk-management-apis/revisions/01ab38426629?raw)
