> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gr4vy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add a report

> Create a new report.

This endpoint requires the `reports.write` scope.


## OpenAPI

````yaml /openapi.speakeasy.json POST /reports
openapi: 3.1.0
info:
  title: Gr4vy
  description: The Gr4vy API.
  version: 1.0.0
servers:
  - url: https://api.sandbox.{id}.gr4vy.app
    x-speakeasy-server-id: sandbox
    variables:
      id:
        default: example
        description: The subdomain for your Gr4vy instance.
  - url: https://api.{id}.gr4vy.app
    x-speakeasy-server-id: production
    variables:
      id:
        default: example
        description: The subdomain for your Gr4vy instance.
security:
  - bearerAuth: []
tags:
  - name: 3DS scenarios
    description: Manage and create 3DS scenarios in sandbox.
  - name: Account updater
    description: Schedule stored cards for an account update.
  - name: Audit logs
    description: Query user activity.
  - name: Buyers
    description: Manage buyers.
  - name: Buyers - Gift cards
    description: Query gift cards for buyers.
  - name: Buyers - Payment methods
    description: Query payment methods for buyers.
  - name: Buyers - Shipping details
    description: Manage shipping details for buyers.
  - name: Card details
    description: Returns information about a card.
  - name: Card scheme definitions
    description: List definitions for card schemes.
  - name: Checkout sessions
    description: Manage checkout sessions.
  - name: Digital wallets - Sessions
    description: Create sessions for digital wallets like Apple Pay and Google Pay.
  - name: Digital wallets - Setup
    description: Manage digital wallets like Apple Pay and Google Pay.
  - name: Gift cards
    description: Manage stored gift cards.
  - name: Insights
    description: Retrieve Insights data.
  - name: Insights - Presets
    description: Manage presets for Insights.
  - name: Merchant accounts
    description: Manage merchant accounts in an instance.
  - name: Merchant accounts - 3DS configuration
    description: Manage 3DS profiles for merchant accounts.
  - name: Monitoring
    description: Manage monitoring and alerting.
  - name: Payment links
    description: Manage payment links.
  - name: Payment methods
    description: Manage stored payment methods.
  - name: Payment methods - Definitions
    description: Manage payment method definitions.
  - name: Payment methods - Network tokens
    description: Manage network tokens for stored payment methods.
  - name: Payment methods - Payment service tokens
    description: Manage payment service tokens for stored payment methods.
  - name: Payment options
    description: Fetch a list of payment options to display at checkout.
  - name: Payment service definitions
    description: Fetch info about the definition of each payment service.
  - name: Payment services
    description: Manage configured payment services.
  - name: Payouts
    description: Payout API.
  - name: Refunds
    description: Manage transaction refunds.
  - name: Reports
    description: Manage one-off and scheduled reports.
  - name: Reports - Executions
    description: Manage executions of reports.
  - name: Transactions
    description: Manage transaction.
  - name: Transactions - Actions
    description: Read Flow actions triggered for a transaction.
  - name: Transactions - Chargebacks
    description: Read transaction chargeback data.
  - name: Transactions - Chargeback reversals
    description: Read transaction chargeback reversal data.
  - name: Transactions - Settlements
    description: Read transaction settlement data.
  - name: Transactions - Sessions
    description: Manage transaction session data.
  - name: Webhook subscriptions
    description: Manage webhook subscriptions.
paths:
  /reports:
    post:
      tags:
        - Reports
      summary: Add a report
      description: Create a new report.
      operationId: add_report
      parameters:
        - name: x-gr4vy-merchant-account-id
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: The ID of the merchant account to use for this request.
            examples:
              - default
            title: X-Gr4Vy-Merchant-Account-Id
          description: The ID of the merchant account to use for this request.
          x-speakeasy-name-override: merchantAccountId
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Report'
        '400':
          description: The request was invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: The request was unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: >-
            The credentials were invalid or the caller did not have permission
            to act on the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '405':
          description: The request method was not allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405'
        '409':
          description: A duplicate record was found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '425':
          description: The request was too early.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error425'
        '429':
          description: Too many requests were made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429'
        '500':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        '502':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error502'
        '504':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error504'
      x-codeSamples:
        - lang: javascript
          label: TypeScript
          source: |-
            import { Gr4vy, withToken } from "@gr4vy/sdk";
            import fs from "fs";

            const gr4vy = new Gr4vy({
                id: "example",
                server: "sandbox",
                merchantAccountId: "default",
                bearerAuth: withToken({
                  privateKey: fs.readFileSync("private_key.pem", "utf8"),
                }),
            });

            async function run() {
              const result = await gr4vy.reports.create({
                name: "Monthly Transaction Report",
                schedule: "daily",
                scheduleEnabled: true,
                scheduleTimezone: "UTC",
                spec: {
                  model: "detailed_settlement",
                  params: {
                    "filters": {
                      "ingested_at": {
                        "end": "day_end",
                        "start": "day_start",
                      },
                    },
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: python
          label: Python
          source: |-
            from gr4vy import Gr4vy
            import os


            with Gr4vy(
                id="example",
                server="sandbox",
                merchant_account_id="default",
                bearer_auth=auth.with_token(open("./private_key.pem").read())
            ) as g_client:

                res = g_client.reports.create(name="Monthly Transaction Report", schedule="daily", schedule_enabled=True, spec={
                    "model": "detailed_settlement",
                    "params": {
                        "filters": {
                            "ingested_at": {
                                "end": "day_end",
                                "start": "day_start",
                            },
                        },
                    },
                }, schedule_timezone="UTC")

                # Handle response
                print(res)
        - lang: go
          label: Go
          source: "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Reports.Create(ctx, components.ReportCreate{\n        Name: \"Monthly Transaction Report\",\n        Schedule: components.ReportScheduleDaily,\n        ScheduleEnabled: true,\n        ScheduleTimezone: gr4vygo.Pointer(\"UTC\"),\n        Spec: components.CreateSpecDetailedSettlement(\n            components.DetailedSettlementReportSpec{\n                Params: map[string]any{\n                    \"filters\": map[string]any{\n                        \"ingested_at\": map[string]any{\n                            \"end\": \"day_end\",\n                            \"start\": \"day_start\",\n                        },\n                    },\n                },\n            },\n        ),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
        - lang: php
          label: PHP
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use Gr4vy;

            $sdk = Gr4vy\SDK::builder()
                ->setId('example')
                ->setServer('sandbox')
                ->setSecuritySource(Auth::withToken($privateKey))
                ->setMerchantAccountId('default')
                ->build();

            $reportCreate = new Gr4vy\ReportCreate(
                name: 'Monthly Transaction Report',
                schedule: '<value>',
                scheduleEnabled: true,
                scheduleTimezone: 'UTC',
                spec: new Gr4vy\DetailedSettlementReportSpec(
                    params: [
                        'filters' => [
                            'ingested_at' => [
                                'end' => 'day_end',
                                'start' => 'day_start',
                            ],
                        ],
                    ],
                ),
            );

            $response = $sdk->reports->create(
                reportCreate: $reportCreate
            );

            if ($response->report !== null) {
                // handle response
            }
        - lang: java
          label: Java
          source: |-
            package hello.world;

            import com.gr4vy.sdk.Gr4vy;
            import com.gr4vy.sdk.models.components.*;
            import com.gr4vy.sdk.models.errors.*;
            import com.gr4vy.sdk.models.operations.AddReportResponse;
            import java.lang.Exception;
            import java.util.Map;

            public class Application {

                public static void main(String[] args) throws Exception {

                    Gr4vy sdk = Gr4vy.builder()
                            .id("example")
                            .server(AvailableServers.SANDBOX)
                            .merchantAccountId("default")
                            .securitySource(new BearerSecuritySource.Builder(privateKey).build())
                        .build();

                    AddReportResponse res = sdk.reports().create()
                            .reportCreate(ReportCreate.builder()
                                .name("Monthly Transaction Report")
                                .schedule(ReportSchedule.DAILY)
                                .scheduleEnabled(true)
                                .spec(DetailedSettlementReportSpec.builder()
                                    .params(Map.ofEntries(
                                        Map.entry("filters", Map.ofEntries(
                                            Map.entry("ingested_at", Map.ofEntries(
                                                Map.entry("end", "day_end"),
                                                Map.entry("start", "day_start")))))))
                                    .build())
                                .scheduleTimezone("UTC")
                                .build())
                            .call();

                    if (res.report().isPresent()) {
                        System.out.println(res.report().get());
                    }
                }
            }
        - lang: csharp
          label: C#
          source: >-
            using Gr4vy;

            using Gr4vy.Models.Components;

            using System.Collections.Generic;


            var sdk = new Gr4vySDK(
                id: "example",
                server: SDKConfig.Server.Sandbox,
                bearerAuthSource: Auth.WithToken(privateKey),
                merchantAccountId: "default"
            );


            var res = await sdk.Reports.CreateAsync(reportCreate: new
            ReportCreate() {
                Name = "Monthly Transaction Report",
                Schedule = "<value>",
                ScheduleEnabled = true,
                ScheduleTimezone = "UTC",
                Spec = Spec.CreateDetailedSettlement(
                    new DetailedSettlementReportSpec() {
                        Params = new Dictionary<string, object>() {
                            { "filters", new Dictionary<string, object>() {
                                { "ingested_at", new Dictionary<string, object>() {
                                    { "end", "day_end" },
                                    { "start", "day_start" },
                                } },
                            } },
                        },
                    }
                ),
            });


            // handle response
components:
  schemas:
    ReportCreate:
      properties:
        name:
          type: string
          maxLength: 100
          minLength: 1
          title: Name
          description: The name of the report.
          examples:
            - Monthly Transaction Report
        description:
          anyOf:
            - type: string
              maxLength: 1000
              minLength: 1
            - type: 'null'
          title: Description
          description: A description of the report.
          examples:
            - Monthly transaction summary for May 2024.
        schedule:
          description: The schedule for the report.
          examples:
            - daily
          type: string
          enum:
            - daily
            - monthly
            - once
            - weekly
          title: ReportSchedule
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        schedule_enabled:
          type: boolean
          title: Schedule Enabled
          description: Whether the report schedule is enabled.
          examples:
            - true
        schedule_timezone:
          type: string
          title: Schedule Timezone
          description: The timezone for the report schedule.
          default: Etc/UTC
          examples:
            - UTC
        spec:
          oneOf:
            - $ref: '#/components/schemas/TransactionsReportSpec'
            - $ref: '#/components/schemas/TransactionRetriesReportSpec'
            - $ref: '#/components/schemas/DetailedSettlementReportSpec'
            - $ref: '#/components/schemas/AccountsReceivablesReportSpec'
          title: Spec
          description: The report specification.
          discriminator:
            propertyName: model
            mapping:
              accounts_receivables:
                $ref: '#/components/schemas/AccountsReceivablesReportSpec'
              detailed_settlement:
                $ref: '#/components/schemas/DetailedSettlementReportSpec'
              transaction_retries:
                $ref: '#/components/schemas/TransactionRetriesReportSpec'
              transactions:
                $ref: '#/components/schemas/TransactionsReportSpec'
      additionalProperties: false
      type: object
      required:
        - name
        - schedule
        - schedule_enabled
        - spec
      title: ReportCreate
    Report:
      properties:
        type:
          type: string
          const: report
          title: Type
          description: Always `report`.
          default: report
          examples:
            - report
        id:
          type: string
          format: uuid
          title: Id
          description: The unique ID for the report.
          examples:
            - a1b2c3d4-5678-90ab-cdef-1234567890ab
        merchant_account_id:
          type: string
          title: Merchant Account Id
          description: The merchant account ID this report belongs to.
          examples:
            - merchant-account-12345
        name:
          type: string
          maxLength: 100
          minLength: 1
          title: Name
          description: The name of the report.
          examples:
            - Monthly Transaction Report
        creator_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Creator Id
          description: The ID of the user who created the report.
          examples:
            - d290f1ee-6c54-4b01-90e6-d701748f0851
        creator_display_name:
          anyOf:
            - type: string
              maxLength: 1000
              minLength: 1
            - type: 'null'
          title: Creator Display Name
          description: The display name of the report creator.
          examples:
            - Jane Doe
        creator_type:
          anyOf:
            - type: string
              enum:
                - user
                - private_key
              title: ReportCreatorType
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
          description: The type of the report creator.
          examples:
            - user
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date this report was created at.
          examples:
            - '2024-05-30T12:34:56.000Z'
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: The date this report was last updated.
          examples:
            - '2024-05-30T13:00:00.000Z'
        next_execution_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Next Execution At
          description: The next scheduled execution time for the report.
          examples:
            - '2024-06-01T00:00:00.000Z'
        description:
          anyOf:
            - type: string
              maxLength: 1000
              minLength: 1
            - type: 'null'
          title: Description
          description: A description of the report.
          examples:
            - Monthly transaction summary for May 2024.
        schedule:
          description: The schedule for the report.
          examples:
            - daily
          type: string
          enum:
            - daily
            - monthly
            - once
            - weekly
          title: ReportSchedule
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        schedule_enabled:
          type: boolean
          title: Schedule Enabled
          description: Whether the report schedule is enabled.
          examples:
            - true
        schedule_timezone:
          type: string
          title: Schedule Timezone
          description: The timezone for the report schedule.
          examples:
            - UTC
        spec:
          $ref: '#/components/schemas/ReportSpec'
          description: The report specification.
        latest_execution:
          anyOf:
            - $ref: '#/components/schemas/ReportExecutionSummary'
            - type: 'null'
          description: The latest execution summary for the report.
      additionalProperties: false
      type: object
      required:
        - id
        - merchant_account_id
        - name
        - created_at
        - updated_at
        - schedule
        - schedule_enabled
        - schedule_timezone
        - spec
      title: Report
    Error400:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `bad_request`
          default: bad_request
          examples:
            - bad_request
        status:
          type: integer
          title: Status
          description: Always `400`.
          default: 400
          examples:
            - 400
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error400
    Error401:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `unauthorized`
          default: unauthorized
          examples:
            - unauthorized
        status:
          type: integer
          title: Status
          description: Always `401`.
          default: 401
          examples:
            - 401
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: No valid API authentication found
          examples:
            - No valid API authentication found
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error401
    Error403:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `forbidden`
          default: forbidden
          examples:
            - forbidden
        status:
          type: integer
          title: Status
          description: Always `403`.
          default: 403
          examples:
            - 403
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error403
    Error404:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `not_found`
          default: not_found
          examples:
            - not_found
        status:
          type: integer
          title: Status
          description: Always `404`.
          default: 404
          examples:
            - 404
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: The resource could not be found
          examples:
            - The resource could not be found
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error404
    Error405:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `method_not_allowed`
          default: method_not_allowed
          examples:
            - method_not_allowed
        status:
          type: integer
          title: Status
          description: Always `405`.
          default: 405
          examples:
            - 405
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Method Not Allowed
          examples:
            - Method Not Allowed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error405
    Error409:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `duplicate_record`
          default: duplicate_record
          examples:
            - duplicate_record
        status:
          type: integer
          title: Status
          description: Always `409`.
          default: 409
          examples:
            - 409
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
        resource_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Resource Id
          description: The ID of the conflicting resource.
          examples:
            - cdc70639-cb9c-4222-a73f-b8ce39f7821b
      additionalProperties: false
      type: object
      title: Error409
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Error425:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `too_early`
          default: too_early
          examples:
            - too_early
        status:
          type: integer
          title: Status
          description: Always `425`.
          default: 425
          examples:
            - 425
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error425
    Error429:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `too_many_requests`
          default: too_many_requests
          examples:
            - too_many_requests
        status:
          type: integer
          title: Status
          description: Always `429`.
          default: 429
          examples:
            - 429
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error429
    Error500:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `server_error`
          default: server_error
          examples:
            - server_error
        status:
          type: integer
          title: Status
          description: Always `500`.
          default: 500
          examples:
            - 500
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error500
    Error502:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `bad_gateway`
          default: bad_gateway
          examples:
            - bad_gateway
        status:
          type: integer
          title: Status
          description: Always `502`.
          default: 502
          examples:
            - 502
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error502
    Error504:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `gateway_timeout`
          default: gateway_timeout
          examples:
            - gateway_timeout
        status:
          type: integer
          title: Status
          default: 504
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error504
    TransactionsReportSpec:
      properties:
        model:
          type: string
          const: transactions
          title: Model
          description: The report model type.
          default: transactions
          examples:
            - transactions
        params:
          additionalProperties: true
          type: object
          title: Params
          description: The parameters for the transactions report model.
          examples:
            - fields:
                - id
                - status
              filters:
                status:
                  - succeeded
      additionalProperties: false
      type: object
      required:
        - params
      title: TransactionsReportSpec
    TransactionRetriesReportSpec:
      properties:
        model:
          type: string
          const: transaction_retries
          title: Model
          description: The report model type.
          default: transaction_retries
          examples:
            - transaction_retries
        params:
          additionalProperties: true
          type: object
          title: Params
          description: The parameters for the transaction retries report model.
          examples:
            - filters:
                created_at:
                  end: '2024-05-31T23:59:59Z'
                  start: '2024-05-01T00:00:00Z'
      additionalProperties: false
      type: object
      required:
        - params
      title: TransactionRetriesReportSpec
    DetailedSettlementReportSpec:
      properties:
        model:
          type: string
          const: detailed_settlement
          title: Model
          description: The report model type.
          default: detailed_settlement
          examples:
            - detailed_settlement
        params:
          additionalProperties: true
          type: object
          title: Params
          description: The parameters for the detailed settlement report model.
          examples:
            - filters:
                ingested_at:
                  end: day_end
                  start: day_start
      additionalProperties: false
      type: object
      required:
        - params
      title: DetailedSettlementReportSpec
    AccountsReceivablesReportSpec:
      properties:
        model:
          type: string
          const: accounts_receivables
          title: Model
          description: The report model type.
          default: accounts_receivables
          examples:
            - accounts_receivables
        params:
          additionalProperties: true
          type: object
          title: Params
          description: The parameters for the accounts receivables report model.
          examples:
            - filters:
                timestamp:
                  end: '2024-05-31T23:59:59Z'
                  start: '2024-05-01T00:00:00Z'
      additionalProperties: false
      type: object
      required:
        - params
      title: AccountsReceivablesReportSpec
    ReportSpec:
      properties:
        model:
          description: The report model type.
          examples:
            - transactions
            - transaction_retries
            - detailed_settlement
          type: string
          enum:
            - transactions
            - transaction_retries
            - detailed_settlement
            - accounts_receivables
          title: ReportSpecModel
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        params:
          additionalProperties: true
          type: object
          title: Params
          description: The parameters for the report model.
          examples:
            - fields:
                - id
                - status
              filters:
                status:
                  - succeeded
      additionalProperties: false
      type: object
      required:
        - model
        - params
      title: ReportSpec
    ReportExecutionSummary:
      properties:
        type:
          type: string
          const: report-execution
          title: Type
          description: Always `report-execution`.
          default: report-execution
          examples:
            - report-execution
        id:
          type: string
          format: uuid
          title: Id
          description: The unique ID for the report execution.
          examples:
            - a1b2c3d4-5678-90ab-cdef-1234567890ab
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date this report execution was created at.
          examples:
            - '2024-05-30T12:34:56.000Z'
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: The date this report execution was last updated.
          examples:
            - '2024-05-30T13:00:00.000Z'
        status:
          description: The status of the report execution.
          examples:
            - succeeded
          type: string
          enum:
            - dispatched
            - failed
            - pending
            - processing
            - succeeded
          title: ReportExecutionStatus
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        context:
          $ref: '#/components/schemas/ReportExecutionContext'
          description: The context for the report execution.
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - status
        - context
      title: ReportExecutionSummary
    ErrorDetail:
      properties:
        location:
          description: >-
            The part of the request where the property can be found that caused
            the error.
          examples:
            - body
          type: string
          enum:
            - query
            - body
            - path
            - header
            - unknown
          title: ErrorLocation
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        pointer:
          anyOf:
            - type: string
              format: json-pointer
            - type: string
          title: Pointer
          description: A JSON pointer for the particular property that caused the error.
          examples:
            - /currency
        message:
          type: string
          title: Message
          description: A human-readdable explanation of the error.
          examples:
            - 'Unknown ISO 4217 currency code: USX'
        type:
          type: string
          title: Type
          description: The type of error that was raised for this property.
          examples:
            - value_error
      additionalProperties: false
      type: object
      required:
        - location
        - pointer
        - message
        - type
      title: ErrorDetail
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ReportExecutionContext:
      properties:
        reference_timestamp:
          type: string
          format: date-time
          title: Reference Timestamp
          description: The reference timestamp for the report execution context.
          examples:
            - '2024-05-30T12:34:56.000Z'
        reference_timezone:
          type: string
          title: Reference Timezone
          description: The reference timezone for the report execution context.
          examples:
            - UTC
      additionalProperties: false
      type: object
      required:
        - reference_timestamp
        - reference_timezone
      title: ReportExecutionContext
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````