# Create report

Creates a report for the specified date range. The report is processed asynchronously. Once processing completes, use the returned id to download it.

Endpoint: POST /reports/create
Version: 2.0.0
Security: bearerAuth

## Request fields (application/json):

  - `report_type` (string, required)
    Report type to create.
    Enum: "INVOICES", "SUBSCRIPTIONS"

  - `date_from` (string, required)
    Start date and time for the report data range.
    Example: "2024-01-01T00:00:00.000000Z"

  - `date_to` (string, required)
    End date and time for the report data range.
    Example: "2024-02-01T00:00:00.000000Z"

## Response 200 fields (application/json):

  - `id` (string, required)
    Unique report identifier.
    Example: "rprt_01K8F3ZQ8X9YBCDEFGHJKMNPQR"

  - `report_type` (string, required)
    Report type.
    Enum: same as `report_type` (2 values)

  - `status` (string, required)
    Current report status.
    Enum: "PROCESSING", "SUCCEEDED", "FAILED", "EXPIRED"

  - `created_at` (string, required)
    Date and time when the report was created.
    Example: "2024-01-01T00:00:00.000000Z"

## Response 400 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "VALIDATION"

  - `message` (string, required)
    Message describing the error.
    Example: "One or more fields failed validation due to constraints"

  - `context` (object, required)
    Additional context about the validation error, including specific constraints.
    Example: {"constraints":{"email":{"type":"TYPE","message":"The 'email' field must be a valid email address"},"age":{"type":"MIN","message":"The 'age' field must be a number greater than or equal to 18"}}}

  - `context.constraints` (object, required)
    Failed constraints keyed by the field name.
    Example: {"email":{"type":"TYPE","message":"The 'email' field must be a valid email address"},"age":{"type":"MIN","message":"The 'age' field must be a number greater than or equal to 18"}}

## Response 401 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "UNAUTHENTICATED"

  - `message` (string, required)
    Message describing the error.
    Example: "Credentials are invalid or missing"

## Response 403 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "PERMISSION_DENIED"

  - `message` (string, required)
    Message describing the error.
    Example: "Permission denied"

## Response 429 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "TOO_MANY_ACTIVE_REPORTS"

  - `message` (string, required)
    Message describing the error.
    Example: "The request conflicts with the current state"

  - `context` (object)
    Additional error context.


